Heads up for internal hackers, General stacks and control stacks are no longer circular. They are now terminated at both ends with NULL pointers.
A "stack" now points to the top of the stack, not the base. This simplified stack handling as well as the GC tracing, but in one case, stack_entry() with a negative offset, results in a linear walk. Is this even used? The other benefit is we can do stack trees, which may make COW and continuations less expensive. We can do COW per-chunk, rather than per-stack. (currently unfinished) We may need a "stack" object that will allow better random access to the stack, rather than passing around the base or top. -Melvin