Refactored MacList to MacTree
Added failing test case for nested macros
Flattened error structure
Refactored out AST Err type
pending test