Merge pull request #46 from TehMillhouse/master

Add parsing logic for class declarations, refactor
Make the parser accept arbitrarily nested blocks.

Stack overflows are avoided by returning early from potentially
recursive functions (here: parseStatement) and placing the "unfinished" item
(here: the block the statement is contained in) onto a parser stack. A
function of a higher level (here: parseBlock) will then work off the
stack in a loop.
Finish implementing expression parsing
Add tests for field accesses
Simplify ParserTest
Parser: Revert expression parsing to simple recursive-descent
Merge pull request #52 from Kha/expressions

Implement expression parsing
Add parsing logic for code (no expressions)
Make Add missing parser code, properly parse non-expression statements
Disable test case about local var defs in invalid scopes
Fix parseReturnStatement not consuming semicolon
Make sure parser result is actually evaluated in test