Merge pull request #41 from TehMillhouse/master

Add Parser stub
Lexer: Replace Stream input with custom line-based mutable input reader
Lexer: Inline lexSymbol into lexToken to make them tail recursive
Eliminate any sources of buffering the whole program

* replace Streams with Iterators
* findings and success are now dependent on the current iterator position
  * therefore have to rearrange evaluation in unit tests
* make Lexer.dumpResults() lazy line-based
Lexer: Fix BufferedIterator implementation
Merge pull request #44 from Kha/fix-bufferediterator

Lexer: Fix BufferedIterator implementation
Implement the parser's expect() function

Also start implementing parser tests.
Merge pull request #42 from jspam/020-parser-expect

Implement the parser's expect() function
Add EOF as token type
Integrate EOF token into parser
Add parsing logic for class definitions