Some more AST work. Functions no longer retain an identifer for their name.
Merge pull request #1 from jorendorff/master

Merge jorendoff's very kind cleanup (and tests!) of StringReader code
More AST work. Getting close to fully transforming language as specified by current grammer. (which is a subset of what it will become)
Fix a minor bug in the lexer (it would not match the last character of the input) and add Lexer tests.