Added types for AST, data types and values.
Now keeping locations of start and end locations of tokens for nice error
messages. Building the structure of the parser.
Added GetToken().