Fixed BLOCKHASH instruction to work with the real code (as opposed to the tests).  I also put the debug printing of the memory back in.  Also, I've added a new message to warn the user if an exception was thrown in the VM, and the addressState is going to be reverted.
Fixed BLOCKHASH instruction to work with the real code (as opposed to the tests).  I also put the debug printing of the memory back in.  Also, I've added a new message to warn the user if an exception was thrown in the VM, and the addressState is going to be reverted.

Also, I added code to be compliant with the cpp behavior....

1. addressState shouldn't be created on create when value is zero (it can be created later, when other values are set to something nontrivial, but not just for the transfer of no Ether).

2. No exception should be thrown when return value from init is too large to pay for.  Instead, the account creation succeeds, but the contract is blank.

jamshidh/ethereum-client-haskell,jamshidh/ethereum-vm,jamshidh/ethereum-vm,jamshidh/ethereum-client-haskell