Removed ';' operator.
Added lexeme location tracking.

Improved error messages.
Compiler now uses typechecked AST instead of raw syntax tree
Add location to all parse nodes, AST nodes and error mesages.
Extract Location type into location.hpp
Added support for extern functions.
Added support for function type parsing.
Added support for anonymous functions.

Fixed crash on unary operation.
Fixed parsing of chained function calls after expression.
parseBlock doesn't create a block from multiple expressions on the same line.
Added an error if the whole source file wasn't compiled.
Added array types, array creation and array indexing operation.
Added basic type inference.

Fixed function return type in a parse tree.
Extract 'extern' node into a special type instead of reusing LetFunc.
Rename LiteralNumber into NumberLiteral, Array into ArrayLiteral
Post-rebase fixes.
Refactor & improve function type dumping
Brackets in array types are now after the type name, not before.
Added "for ... in ... do ..." statement.

Added support for empty arrays.
Output refactoring: errorf now throws an exception, output happens in boostrap.cpp.
Introduce test framework, fix simple.aike to not fail the tests.
Adjusted error printing, only run code as a test if test name is not specified.
Added two let-indent tests (one of them fails).