Implement begin
Implement begin0
Update resolve to use definition contexts

also cleanup some warnings
Add a bunch of tests from the reference implementation

Note: tests are broken as there appear to be plenty of bugs in
my implementation!
Cleanup one error check
parser fix -- rebase me
Implement proper non-capturing substitution
Properly thread environments through eval_sub
Fix up expand based on refernce impl
Switch to a mark / rename / defs generator that allows you to see the original variable
Fix a couple test cases

Move TStop case ahead of macro application since
macro application would catch that case. Also fix substitution variable
name generation
Eval quoted num -> basic num
Fix example code
Cleanup resolve_rec code a bit
Change CTE from hashmap to assoc list
Fix expand to only do macro application on TVals
Fix parse to function properly when we find something in the CTE
Uncomment and fix names on old test cases
Add some missing new_gens