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]
Don't worry, it was a general comment. Writing shorter functions/methods and extracting lines of code into new functions/methods can also help get better names easier.