Use OrderSet instead of Order as protocol message

Orders should be sent as a complete set to simplify the consensus of
the broker set. This means that `Order` is no longer a protocol message.
Consequently, modify actors to use `OrderSet` instead of `Order`.

Also, remove `OrderCancellation` message. The way to cancel an order is to send a new order set without that given order.

And finally, the introduction of `OrderSet` triggered a redesign of the `Position` class, that become templated (e.g. `Position[Bid.type]`), allowing the removal of several runtime checks in `OrderBook` and `OrderMap`.