Merge pull request #239 from sortega/issue/39_serial_ex

Model exchange failure modes
Add on-new-value handler to `Property`

This allows to register a handler when previous value is useless.
Add pimp-my-library pattern to Coinffeine properties

So they can be easily mapped to JavaFX bindings to use them in the GUI.
Provide a `CurrencyTextField` control

Similar to `DecimalNumberTextField`, but it provides a symbol on the left
indicating the expected currency.
Remove unused `RetrieveWalletBalance` messages

They are removed from `CoinffeinePeerActor` and `WalletActor` since balance
retrieval is performed via `WalletProperties`.
Provide a `SmartWallet` class to simplify `WalletActor`

Most of the functionality of the actor is moved to the `SmartWallet` class.
Now `WalletActor` is only there to deal with actor system messages.
Grant `WalletActor` the ability to create pay-to-address transactions
Implement wallet funds withdraw action in `CoinffeinePeerActor`
Implement `DefaultCoinffeineWallet.transfer()`
Provide an initial implementation of Wallet view

This view is aimed to show the details of Bitcoin wallet. In this early version
it only shows the balance, the QR code and provides a form to withdraw funds.
Fix IT

givenPeersHaveBitcoinBalance was broken since the type of balance
changed. Also, adjust some constants and provide more logging.
Merge pull request #241 from sortega/fix_it

Fix IT
Fix DelegatedOrderFunds

It was sending messages to OrderFundsActor with NoSender as sender.
Fix type mismatch at balance checking on ExchangeTest
Fix a heisenbug in `CoinffeinePeerActorTest`

Caused by reusing the internal test probe of the test class in several
independent test cases. This is a possible fix of CF-78.
Merge pull request #242 from sortega/fix_it

Fix integrated tests
Address some feedback from pull request

* Use a sufficient long timeout to wait for the withdraw tx to be broadcast
* Replace `Future.onComplete()` by `map()`, `recover()` and `pipeTo()`.
* Ignore `akka.actor.Address` to avoid clashing with Bitcoinj's type
* Remove data redundancy in `CoinffeinePeerActorTest`
Move operations from pimp-my-wallet class to `SmartWallet`

With the intention of replacing `PimpMyWallet` by `SmartWallet`.
Inject `SmartWallet` instead of raw `Wallet`
Remove `PimpMyWallet`

And replace `Wallet` by `SmartWallet` in some places to substitute its
functionality.