Make protocol implementation classes not case classes
Introduce ExchangeTest as a test base trait

To remove test duplication
Use TransactionProcessor on client.exchange.DefaultExchange
Fix Deposits case class

Remove unnecessary generic variable and add utility method toSeq.
Implement DefaultMicroPaymentChannel

And fix some bugs to make its tests pass
Merge pull request #191 from sortega/issues/41

Implement DefaultMicroPaymentChannel