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
Merge pull request #722 from eordano/feature/multisig

P2SH Multisig transaction creation