Completely remove ExchangeInfo
Replace HandshakeFactory for an ExchangeProtocol
Merge pull request #202 from sortega/issues/41

Replace ExchangeInfo and HandshakeFactory
Use exchange.amounts for consistency
Move createMicroPaymentChannel to ExchangeProtocol
Remove unnecessary type parameters
Add more operations to `PimpMyWallet` class

More functions are added to block funds based on mutable transactions
and multisign funds. This means a new pimp-my-library pattern
for `MutableTransaction` is added.

The unit tests are improved with two additional cases.
Add a wallet actor class hierarchy

The wallet actor is responsible to wrap a wallet and operate on its
funds. Under requirement, it will create a multisign transaction and
will block its founds so they are not used in any other operation.
The resulting tx can be broadcast so its funds would be spent, or
it can be released by the wallet actor under demand, turning its funds
available again.
Address feedback from PR #203

Fix some typos, style issues, and remove the natural-language-like
expressions from the tests.
Use MicroPaymentChannel.Step in ProtoMicroPaymentChannel
Remove unused and deprecated code
Use MicroPaymentChannel.Signatures elsewhere
Harmonize ProtoMicroPaymentChannel and MicroPaymentChannel traits
Merge pull request #203 from apoloval/issues/49

Add a wallet actor class hierarchy
Use ExchangeProtocol as a factory of ProtoMicroPaymentChannel

And use ImmutableTransaction on more places and other harmonizations.
Merge pull request #204 from sortega/issues/41

Use more stuff from the domain model on the rest of the code base
Improve test props usage
Merge pull request #208 from edrevo/improve-test-props

Improve test props usage
Introduce the Both[T] class
Use Both in CommitmentNotification