base58: fix missing exceptions
address/base58check: fix missing exceptions/tests

All the `invalid2` tests have been removed as they were not invalid
base58check.  They were actually valid in some cases.
They will be re-integrated in more specific bitcoin core tests in
relation to Address/ECKey respectively.
ecdsa: fix missing exceptions
ECKey: fix exception tests

These weren't broken as such, but they weren't distinctly checking that
the right exception was thrown either.
HDWallet: adds missing exception regex
Script: adds missing exception regex
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.
all: Expected T, got PARAM
bufferutils: unrolls tests and adds more 16 bit test fixtures
Merge pull request #199 from dcousens/btccoretests

Bitcoin core tests and fixed exception testing