Change in macro HARDMEMTESTS for testing GC

Macro HARDMEMTESTS broke in two: HARDMEMTESTS forces a full GC cycle
at every point where the GC can run. New macro EMERGENCYGCTESTS
forces an emergency collection at every memory allocation.
diff --git a/lmem.c b/lmem.c
index 65bfa52..43739bf 100644
--- a/lmem.c
+++ b/lmem.c
@@ -22,7 +22,7 @@
 #include "lstate.h"
 
 
-#if defined(HARDMEMTESTS)
+#if defined(EMERGENCYGCTESTS)
 /*
 ** First allocation will fail whenever not building initial state
 ** and not shrinking a block. (This fail will trigger 'tryagain' and
diff --git a/makefile b/makefile
index baa6e67..ecc4291 100644
--- a/makefile
+++ b/makefile
@@ -40,7 +40,9 @@
 # Some useful compiler options for internal tests:
 # -DHARDSTACKTESTS forces a reallocation of the stack at every point where
 # the stack can be reallocated.
-# -DHARDMEMTESTS forces an emergency collection at every single allocation.
+# -DHARDMEMTESTS forces a full collection at all points where the collector
+# can run.
+# -DEMERGENCYGCTESTS forces an emergency collection at every single allocation.
 # -DEXTERNMEMCHECK removes internal consistency checking of blocks being
 # deallocated (useful when an external tool like valgrind does the check).
 # -DMAXINDEXRK=k limits range of constants in RK instruction operands.