Allow sharing of txstatedb.json - can be signed and validated without bitcoind

One person will need to use bitcoind to build the txstatedb.json using everyone's public key, but then once the transaction has been proposed, the txstatedb.json file can be shared amongst the signing parties, and they can sign the file without needing to connect to bitcoind. The txstatedb.json file contains the input transactions to make this possible. Basic validation can be performed on the transaction to make sure they are signing what they think they are signing. However, further validation should be included. The signer should be able to verify:

* That they have the private key for one of the public keys (finished)
* That the the redeem script is the one that matches nreq and the public keys (finished)
* That the transaction matches the inputs, outputs, and redeem script (unfinished)
* What the miner fees are (unfinished)
* Whether the outputs have been previously spent (unfinished)
* Whether the transaction has been fully signed and can be broadcast (unfinished)

A few other important features should be added:
* The ability to type the password in a hidden input box
* Non-mysterious error messages
* Many, many more tests

More advanced features that should be added later:
* Ability to send a certain amount, and the inputs will be automatically retrieved

Note that this pull request builds on my previous pull request, but develops a very different feature (ability to sign and verify the txstatedb.json without being connected to bitcoind) and that's why it has a new pull request.