Transaction: fix SIGHASH_* constant values
coretests: reverse inputs for simplicity of testing

To save on us building a hash map with which to check the inputs,
instead I just ensure that the order of the inputs is the same as it is
in the serialized transaction.
bufferutils: add PUSHDATA implementation
Script: add fromChunks and without
Transaction: refactor hashForSignature

Adds asserts to ensure only valid hashes are created (until the
implementation is complete).

Also uses `Script.without` to remove OP_CODESEPARATOR from the Scripts
as required by the protocol.
tests: adds bitcoin core tests

Not all tests are added yet, but this represents a significant portion.