Solidity contract compiler

Those asserts should be exceptions, since they are just checking preconditions rather than being true logical tautologies. I added a guideline to the house style wiki (https://github.com/ethereum/cpp-ethereum/wiki/House-style), refering to an email of Gav.