fix stackoverflow in calldataload, codecopy, extcodecopy + some tests
avoid code repetition in vm
minor fix
even less code
String types.
Tests for empty and too long strings.
Helper functions to access memory.
Merge remote-tracking branch 'ethereum/develop' into sol_strings

Conflicts:
	libsolidity/Types.cpp
Support empty strings.
Swap literals to the end if optimizing.
Do not add at the end of the function selector "loop".
Test unexpected storage entries
Report wrong account address in case of unexpected storege key
Replace spaces with tabs
Beginnings of cleaning up the Executive/State code.
Minor fix for execution.
Merge pull request #584 from chriseth/sol_strings

String types.
Cleanups.
Merge remote-tracking branch 'ethereum/develop' into sol_swapConstants

Conflicts:
	test/solidityOptimizerTest.cpp
Merge pull request #593 from chriseth/sol_swapConstants

Swap literals to the end if optimizing.