gc.gc: Fix SENTINEL to be a debug version

Match the commented-out declaration at the top of the module.
gc.gc: Fix memory corruption with debug=MEMSTOMP
gc.gc: Add debug=INVARIANT option

GC invariants take a long time to run when enabled,
and it is useful to disable them without also disabling
everything else affectedy the -release switch.
gc.gc: Fix compilation with debug=SENTINEL
gc.gc: Return sentinel-constrained size in alloc

This fixes basic array appending with debug=SENTINEL.
Merge pull request #778 from CyberShadow/gc-debug

Some fixes in GC debugging code