New AST file formats
- AST nodes are now broken down into separate files so each part can remain relatively separate, which will be much more important when more operators/features are implemented.
- Updated Makefile to automatically generate libast.a and ast.h from the AST node types