Refactor Transaction Proposals

- spawns TxProposal to a new class
- completely rewrite TxProposal and TxProposals tests to be really UNIT tests
- remove metadata from TxProposals. Remove PEER TRUST
- Adds multiple checks to received/read TxProposals:
  - must have a correct redeem script
  - signatures must be valid
  - metadata (signed and creator) is derived from the signature
  
Fixes https://github.com/bitpay/copay/issues/135 
Fixes https://github.com/bitpay/copay/issues/939

Addresses item 1 from (Known issues)[https://github.com/bitpay/copay/wiki/Copay-Known-issues#peer-trust]
Try to choose better parameter names so that functions are self-explanatory. If that's not possible, write a small comment saying what a function does. I have no idea what this function should do and it's very hard to review it that way. I can read the code but I'll have to guess what you want to do and then see if you actually did that.