Remove unions for now, they were causing problems in some WIP, and they're unused outside of tests
BMI ops aren't destructive... d'oh
Make sure there are no forward references to globals/nonlocals, which breaks under the proper scoping implementation
Tiny bugfix in struct module, slice was applied incorrectly
Big rework of scoping. More correct and somewhat cleaner, but needs a bit more work--just getting too big for one commit...
Move all the testing code out of asm.mg and into its own file
One more erroneous forward reference
Basic register allocator
The same slice bug was also made in re.mg (which should probably just be deleted)