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.