Clean up and organize tests + state class tests

I removed the complete create/call functionality of the FakeExtVM leaving it to minimum functionality, creating a "callcreate" in the test. Tests needing those functions should be written as state tests (new feature).
I created a lot of helper functions in order to reuse code.

Its old code, but it is not mine (I assume Gav wrote it). But may be eventually it will get removed/replaced.