Move mock ExchangeProtocol implementation to the common module
Allow validating each deposit TX independently
Use Both[T] in more places
Reintroduce the PublishTransaction message
Merge pull request #212 from sortega/task/64_adapting

Changes to reduce the gap between peers and the broker
Inject collaborators in DefaultExchangeActor to use the BTC network

In order to make DefaultExchangeActor to broadcast transactions, it should
have a TransactionBroadcaster object at hand to do that. This change prepares
the actor to receive such collaborator as a dependency injection.
Define the messages for transaction publishing in BlockchainActor

Define the case classes that describes the messages used by a blockchain actor
in order to publish a transaction to the Bitcoin network.
Implement transaction publishing messages in DefaultBlockchainActor

Implement the handling of transaction publishing messages in
`DefaultBlockchainActor` class. The corresponding unit tests are included.