Cleaning up much of the older code. Prettied up tree output (removed 'Expression', 'Symbol', etc). Removed hack of assignments adding identifier name as their string. Tree now uses smart pointers. Removed use of global/extern-ed variables. New macro for doing things on all defined node types. Switched from Declarations to Declaration. Cleaned up unused node types.