Merge pull request #272 from sortega/blockchain

Extend BlockchainActor to notify when an output is spent
Remove redundant arguments on DefaultExchangeActor
Introduce DepositWatcher
Merge pull request #273 from sortega/blockchain

Implement a deposit watcher
Make DepositWatcher identify intermediate step TXs
Use a HandshakingExchange on DepositWatcher
Make HandshakeActor more precise about failures

Use HandshakeFailure for failed handshakes without funds commitments and
HandshakeFailureWithCommitment otherwise.
Initialize DepositWatcher on DefaultExchangeActor
Rename TransactionBroadcastActor messages

ExchangeFinished is a bad name as it is not the end of the story so
it has been renamed to SuccessfulBroadcast.
Simplify DefaultExchangeActor initialization
Simplify TransactionBroadcastActor initialization
Use DepositWatcher to determine exchange result
Merge pull request #274 from sortega/fix_it

Watch deposit use to determine exchange result
Avoid failing futures on BitcoinFixture

Use try* methods when trying to complete the promise of BitcoinFixture.withFallback.
Fix ExchangeTest

Fix amounts for having a true perfect match and improve assertions.
Fix DefaultExchangeActor

Consider the case of detecting the publication of the last happy path
transaction before receiving the counterpart notification.
Merge pull request #275 from sortega/fix_it

Fix ITs
Take currencies out of Currency companion object
Remove BitcoinAmount type alias

It is unnecessary now that we have Bitcoin.Amount
Use Euro.Amount and UsDollar.Amount aliases

They are shorter than the alternatives and prepare the code for 
moving to a dependent type for currency amounts.