Rename client.exchange.Exchange to ProtoMicroPaymentChannel
Make exchange and role available on MicroPaymentChannelActor
Remove UserRole hierarchy
Move pay responsibility out of ProtoMicroPaymentChannel
Merge pull request #200 from apoloval/issues/49

Provide a pimp-my-library class for `Wallet`
Move payment validation from ProtoMicroPaymentChannel
Remove some payment-related leftovers
Merge pull request #201 from sortega/issues/41bis

Refactor client.exchange.Exchange to make it similar to MicroPaymentChannel
Completely remove ExchangeInfo
Replace HandshakeFactory for an ExchangeProtocol
Merge pull request #202 from sortega/issues/41

Replace ExchangeInfo and HandshakeFactory
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 broadcasted so its funds would be spent, or
it can be released by the wallet actor under demand, turning its funds
available again.