Merge remote-tracking branch 'ethereum/develop' into sol_optimizer
Option to activate the optimizer for solidity.
Prevent optimizer from changing certain parts of the code.
Bugfix: Do not optimize away tags, they may be used elsewhere.
Pop optimization.
Further constants optimizations.
Merge remote-tracking branch 'ethereum/develop' into sol_optimizer
Throw exception for unknown assembly item types.
Merge remote-tracking branch 'ethereum/develop' into sol_optimizer

Conflicts:
	libevmcore/Instruction.cpp
Merge pull request #486 from chriseth/sol_optimizer

Fix and activate optimizer for Solidity, add some new rules.