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 funds 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. 

Discussed offline. 

My point is that test cases should be as human-readable as possible. The reader should interpret as less statements as possible. That is something where we are failing. Our tests are complex, verbose, hard to read, disorganized, etc.

From this perspective, the use of DSLs like this one are specially useful. That was the reason to include these constructions. 

Since we didn't reach any agreement on that, let's remove this DSL constructions are replace them by the underlying expressions.