Merge pull request #94 from sortega/task/135_integration

[Integration of DefaultExchangeActor]
Rename `PeerOrderRequests` to `PeerPositions`

Since we want to have an answer message, something like
`PeerOrderRequestsResponse`, `PeerOrderRequestsReply` or
`PeerOrderRequestsReceived` is confusing. `PeerPositions` describes better the
meaning of the message.
Add a nonce field to `PeerPositions` message

This field allows the broker to respond with a `PeerPositionsReceived` message
describing that positions have been received and included in the order book.
Introduce `OrderPositionsReceived` message

This message would be sent by the broker to indicate the order positions were
received.
New overload of `expectSubscription()` in `GatewayProbe`

This new signature accepts a `timeout` argument to expect subscription messages
in a period of time.
Make peer expect an acknowledge of positions sent to the broker

Two major changes to make ACK the positions sent to the broker.

* `MarketSubmissionActor` now expects a `PeerPositionsReceived` message from
the broker. It does so by launching a new actor named `OrderPositionsWatcher`
everytime it have to transmit the new order book entries to the broker. This
new actor will create and fordware the `OrderPositions` message and will expect
the `OrderPositionsReceived` response, which will be used to notify to each
entry book requester that the order is `InMarket` or `Offline` in case the
broker doesn't respond.

* `OrderActor` now initializes the order status to `OfflineOrder` instead of
`InMarketOrder`. After requesting the submission actor to keep submitting the
order, it is able to receive `InMarket` and `Offline` messages from it (or
one of its children) indicating that the order has been successfully included
in the order book or not, respectively.
Make `BrokerActor` to reply with `PeerPositionsReceived`

Each time a `PeerPositions` message arrives.
Fix several issues in peer positions ACK

* Rename `PeerPositionsWatcher` to `PeerPositionsSubmitter`
* In `OrderActor`, process only `InMarket` and `Offline` messages corresponding
to the current state of the order (discarding the ones of previous states).
* Initialize `PeerPositionsSubmitter` from `preStart()` function.
Merge pull request #93 from apoloval/task/124

Make market submission actor aware when its positions are in the market
Use only the counterpart id on *Exchange case classes

This is needed to simplify the integration of DefaultExchangeActor from
OrderActor.
Merge pull request #95 from sortega/task/135_integration

Use only the counterpart id on *Exchange case classes
Fix success notification of DefaultExchangeActor
Make DefaultExchangeActor to report exchange progress
Merge pull request #96 from sortega/task/135_integration

Make DefaultExchangeActor report progress and completion
Integrate DefaultExchangeActor instead of FakeExchangeActor
Remove warnings and a typo on BackOfficeClient

Pattern matching at setBalance was not exhaustive
Fix micropayment channel actor initialization

Add a mechanism to select between buyer and seller actor props and
remove unused component traits. Also, remove 
StartMicroPaymentChannel.constants as that property is passed on the
actors props.
Fix null pointer error on WalletActor

ActorRef.noSender can’t be used as a message destination.
Avoid producing redundant balance change events
Improve naming of integration test actor refs