First part of AST Creation

Tests are passing. But AST creation is quite broken:
- Types are unimplemented
- TextPosition is wrong for many nodes (and hard to do correctly for
some nodes)
- parsePrimary() returns null.