Added lisp printing mode. Yay unambiguous lisp syntax.
Remove artifacts of compilation such as .o and .h.gch objects. In reality, this probably breaks
on of the features of make, namely, avoiding recompilation of every file. A better solution would
be a more sane directory structure, which would contain a "build" directory to host these files.
Added a 'parent' member to parse_trees. This allows us to perform the insertion operation correctly and simply.
Use recursion in insert_tree. I believe this code is more clear.
Remember to set the parent member of parse_trees
Factor out repeated insertion operations. Makes overall structure of the insertion algorithm clearer.