Solidity scanner and some unit tests.

The scanner is a modified version of the v8 javascript scanner.
Solidity parser, can not parse much yet.
Parse everything up to function bodies and report parser errors with location.
Corrected indentation.
Initial implementation of Solidity parser finished, not yet tested much.
AST printer and command line tool, some fixes.
Name resolution.
Added copyright blocks.
Merge remote-tracking branch 'ethereum/develop' into solidity
Use compile-time constants instead of runtime-constructed multiprecision objects in FeeStructure.
Place fee constants inside FeeStructure struct
Move basic instruction fee selection to a function in FeeStructure
Throw bad instruction exception in case instruction is bad
Type system, not yet complete.
Added meaningful exception types.
Some fixes for the type system, should be quite usable now.
Remove unused parameters.
Throw BadInstruction exception in FeeStructure::getInstructionFee() when instruction code is ivalid
Revert "Throw bad instruction exception in case instruction is bad"

This reverts commit ddb6392338047ea565dbb44ffbd6064d35dfc9dc.
Add comment about BadInstruction exception