fixes to parsing:
- don't use Either in Program (Either expects 'Left' and 'Right' tags)
- add Literal and Identifier as expressions because of the 'inheritance' structure of the spidermonkey parse tree
- improve error messages
fixes to cabal, and code fixes for testing:
- add Show/Eq instances to all AST types
- add a full program test based on a file from test262