ecdsa: fix missing exceptions
tests: adds Bitcoin core test data
Transaction: extract DEFAULT_SEQUENCE constant

Also fixes the bug when the sequence number is 0 and
`TransactionIn.defaultSequence` is used; resulting in an undefined
sequence number as it is undefined.
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.