Transaction function naming and ordering

It removes some of the "loose" constructors in `Transaction` for `TransactionIn` and `TransactionOut`.

The rename of `Transaction.prototype.hashTransactionForSignature` was changed to `Transaction.prototype.hashForSignature` to remove an implied context in the name.

`Transaction.toBuffer/fromBuffer` is now used instead of `serialize/deserialize`, as this is more consistent with the convention used throughout the project.

Finally I did some cleaning up the Bitcoin core test integration syncscript and some small function re-ordering commits.
The only real functional change was in the use of an `Array` of `ECPubKeys` instead of `pubKeyBuffers` for `Script.createMultisigScriptPubKey`.

Comparison link: https://github.com/dcousens/bitcoinjs-lib/compare/master...txscript