Solidity parser - not polished yet, but usable

First shot at the solidity parser. It generates an AST and infers and checks the types for each expression node.

Mappings and structs are parsed, but not yet integrated into the type system.
*waving hands* there is no blank line
no, seriously: its contents are shifted too far to the right in this github view since we use tabs instead of spaces