compiler: move Location class to new file, clean up
Compiler: add locations for AST nodes

- This will help with error reporting later on.
- Also renamed token.py to tok.py to avoid name conflicts with
  built-in Python module.