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.
CS: Remove unneeded {}s.