Implement order cancellation

**Description:** Implement order cancellation and, some refactors to pave the ground for it:

 * Tell apart PeerActor and DefaultPeerActor to avoid cyclic dependencies
 * Make OrderSet handle more edge cases by using a map by price for bids and other for asks

Also, enable the corresponding IT.

**Testing:** new tests added and a new IT pass
**Coverage:** about 85% in both common and client modules
Since we don't have a guaranteed delivery of messages, I'm not sure this message semantic is a good idea since it is not idempotent. If the client sends an OpenOrder message and does not see it reflected in the order book, it would actually pretty risky to re-send the message. Thoughts?