TransactionBuilder.merge and signature ordering

Pull request for #320.

Still WIP.

Signature ordering is complete, but still not sure on the semantics behind what will be necessary for `TransactionBuilder.merge`.
@ianpurton I managed to get signature ordering done while trying to do the `TransactionBuilder.merge` implementation,  but it definitely needs more tests.

Highly appreciated if you could add some to this branch.
No idea how this would work with raw multisig... might have to re think this control flow.