GC refactoring and cleanup
Now we keep any partially-full blocks in the gc_thread structs after each GC, rather than moving them to the generation. This should give us slightly better locality (though I wasn't able to measure any difference). Also in this patch: better sanity checking with THREADED.
Showing with 351 additions and 297 deletions