Fixed bug, toObject should use other object's toObject
Added test to check that Transaction fromJSON could initialize from toJSON, and fixed a bug.
Transaction: Use Script toString for transaction JSON output
Transaction: toNumber/fromNumber to set satoshis
Tests: Added bitcoind base58 key data and tests
PrivateKey: Lodash to check if undefined, and made tests not random (T2)
Merge pull request #738 from braydonf/tests/base58-keys

Tests: Added bitcoind base58 key json data and tests
Add tx_valid and tx_invalid bitcoind tests
Merge pull request #747 from braydonf/tests/tx-bitcoind

Add tx_valid and tx_invalid bitcoind tests
Merge pull request #737 from braydonf/bug/to-object

Transaction:  `toJSON` / `fromJSON` tests
Add `PublicKeyHashInput` and `ScriptHashInput`.

Remove `_outpoints`, `_utxos` from Transaction, as that info
can be efficiently retrieved from the inputs
Add PublicKeyHashInput class
Modify Transaction to use Multisig

* Allow `Script#add` to add a Script causing concatenation of opcodes
* Add `Script#equals` to compare scripts
* Add `Script#fromAddress`
* Drop `_payTo` methods
* Add `Script.buildP2SHMultisigIn`

Greatly simplifying the internal transaction object