Renamed INode to Node
Changed type of Node from interface to abstract class
Updated docs
Fixed print of ELSE IF
Added rationale for visitor/interpreter
Updated rationale
WIP Restructured visitors
Changed start symbol to statement.
Moved tests out of src folder into separate test folder
Removed unused method
Implemented printcontext for pretty printer
Updated todo
Merge branch 'master' into martyn82