Set up AST node hierarchy and keyword constants

This might also be done better as an array of KeyValuePair AST nodes. We could then have two classes for it, pattern properties and literal properties.