Explicit tokens for operators and the types

For easier use in antlr visitor.
Initial Type hierarchy
Support for multiple forms
(Mostly) empty AST class hierarchy.
Foundation of Expression implementation. Also foundation for type checking.

Further: refactored package structure for expressions package.
Fleshed out Statement hierarchy
Form fleshed out
Antlr visitor that builds custom AST written (not tested yet)
Wrote class that builds AST using QLASTBuilderVisitor

Seems to work. toString() of forms works fine (no indentation though).
Merge branch 'master' of https://github.com/software-engineering-amsterdam/poly-ql
Added visitor interface and accept methods. Reformat code.
Significant changes to save line information for each node.

- QLASTNode isn't an interface anymore, but an abstract class.
- Line info for each AST node is stored in each node, for accurate
error messaging.
Better line info for operators. Optimised imports.
Optimised imports
Expanded Exception hierarchy.

Also removed many explicit toString() calls
Foundation for typechecker
Working redeclaration with different type and duplicate label warning.
Merge branch 'master' of https://github.com/software-engineering-amsterdam/poly-ql