compiler.cfg.dataflow-analysis: generic for configuring the "block skipping"

To accurately record uninitialized/overinitialized stack locations,
kill blocks needs to be analyzed. Now you can make it so by overriding
ignore-block?.
compiler.cfg.stacks.vacant: compiler pass replacing uninitialized for more accurate stack maps

This pass uses a better algorithm for keeping track of all stack
manipulations which means that the stack maps it assigns are much more
precise.
compiler.cfg.stacks.vacant: fix usings and remove commented out code
compiler.cfg.stacks.vacant: sub docs seeded with a stolen comment from uninitialized.factor
compiler.cfg.stacks.vacant: more docs and removed usage of byte-arrays
compiler.cfg.instructions: added check-d and check-r slots to gc-map

the data is output from compiler.cfg.stacks.vacant in a reasonable
format but not yet used for code generation.
compiler.cfg.stacks.vacant: invert meaning of 0/1 for overinit:ed locs to make some logic simpler
compiler.codegen.gc-maps: check-d>> and check-r>> now used in the code generator

the approach looks sound and now the gc can be fixed to take advantage
of the extra info.
compiler.codegen.gc-maps: the gc-map-needed? word can be called with f
tools.gc-decode: update vocab to match gc-map changes
VM: use the check_d and check_r to trace the overinitialized stack locations
VM: move the stack scrubbing logic to call_frame_slot_visitor to avoid visiting the callstack twice

primitive_minor_gc() iterates the stack twice, first to scrub stack
locations, then to trace overinitialized ones and gc roots. By running
visit_callstack() before visit_stack_elements() you only need to do it
once.
VM: silly error: should be index * check_r_count, not index + check_r_count
compiler.cfg.stacks.vacant: ##call instructions clear the set of overinitialized locations
VM: dont scrub and check when visiting a callstack object

callstack objects doesn't have stacks so it doesn't make sense to scrub
and check. also added the methods check_stack and scrub_stack to deal
with code duplication