Set up AST node hierarchy and keyword constants

Probably want to move this into a separate file.