Type checking

This pull requests implements a simple type checker for the -cOOre language. It should have the following features before considered done:

- [x] Variable assignment
- [x] Function parameters (calling functions with correct params)
- [x] Return values of functions
- [x] Class parameters
- [x] Expressions in if/while
- [ ] External objects
- [ ] Show line number (and column?)
- [x] Operators (Addition, subtraction, equality etc.)