replace makeroot with lockroot
make node print functions GC-independent
begin non-recursive eval
add handle node type
output formatting changes -- fewer newlines
node handle functionality cleanups in node layer
use node_t *env_handle instead of node_t **environ
switch to eval_norec as default
implementation bugfixes in eval_norec
clean up 'if' evaluation to use fewer locals
Further toward non-recursive eval:
- fewer local args
- better node memory locking
- differentiate between saved and non-saved and long-lived locals
- strealine 'if' processing
- add init callback for memory requests
- remove extra newline printfs
- make memory_gc_advise_new_link be less aggressive in moving memcells to boundary_list
- add support for zeroing memory on free
- add support for more options on how often to run garbage collection in node layer
- be more deliberate about when garbage collection is done in node layer -- explicitly iterate for all external entrypoints, don't elsewhere
- better node layer memory refcount control
- add uninitialized node type
add continuation node type
add continuation function type
plumb in initial runtime support for continuations
add continuation bindings to eval_test