Wallet test fixes

As per the suggestion in #247, this PR removes the use of `sinon` in `Transaction` and instead tests that the `Transaction` is exactly as it should be since the hash is deterministic.

It also makes a few fixes thanks to jshint and re-works a test in `Wallet` which was not testing the desired behaviour. 
I assume this is just a clean-up and unrelated to the kill sinon specific change?