Merge pull request #190 from sortega/issues/41

Remove abstract types on Exchange
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