Add register-gc-event, deregister-gc-event, registered-gc-event.
Punt the hook/record-statistic! fluid. With-gc-notification now uses
dynamic-wind to register and deregister a GC thread event for the
current thread.
Do not use ANY fluid state (e.g. nearest-cmdl/port) during a GC. Use
the console-i/o-port in hook/gc-start and hook/gc-finish. GCs can
happen in the thread system when there is no current thread.
The fluid state IS defined during the GC thread events. At the start
of such events, signal a REPL abort if the heap is low.