Add support for printing the AST

(and fix a couple bugs)
Keep track of variable mention indexes

Good for codegen.
fixing up code generation, and now we can generate code for some lisp functions that map on to machine instructions