Change how crosses are cleared on the order book

Instead of automatically clearing order crosses, make them explicitly
start a handshake that can be completed successfully or be cancelled.
Make also orders already on handshake not being matched against other
orders (sequential model of matching) but preserve their priority.

In the case of a failed handshake, the orders of the misbehaving peers
will be cancelled but the ones of honest peers will keep their priority.
Merge pull request #193 from edrevo/fix-direct-bootstrap

Allow direct bootstrapping only if IP is not private
Merge pull request #192 from sortega/issue/41_reject_2

Change how crosses are cleared on the order book
Fix CrossedOrdersTest

Adapt the test as now market is not cleared until handshake succeed.
Merge pull request #195 from sortega/it_fix

Fix CrossedOrdersTest
Reduce logging level of out of order download progress
Merge pull request #196 from sortega/reduce_logging

Reduce logging level of out of order download progress
Increase market stats timeout

The default timeout of 3 seconds was too tight for the case of a
message lost to allow for resubmission of the original request.
Merge pull request #197 from sortega/fix_it

Increase market stats timeout
Make order match consider fiat amounts instead of price

We realize that exchanges must be expressed in terms of amount of bitcoins
and amounts of fiat, instead of indicating the former with the bitcoin price.

This change refactors `OrderMatch` type to replace the bitcoin price by
the amount of fiat to be exchanged.
Make `ExchangeAmountsCalculator` operate on fiat amount instead of price

Since `OrderMatch` indicates the fiat amount instead of bitcoin price, it makes
sense to change `ExchangeAmountsCalculator` to do the same.
Reorganize DefaultExchangeActor

To lay out the states chronologically.
Rename `ExchangeAmountsCalculator` to `AmountsCalculator`

Including renaming `amountsFor()` to `exchangeAmountsFor()`.
Remove unused exchangePaymentProofTimeout
Remove StepTimeout from SellerMicroPaymentChannelActor
Remove StepTimeout from BuyerMicroPaymentChannel

And, as it was the last use of the class, from the codebase.
Also, remove the protocol constant associated with the step timeout.
Address invalid commitments on DefaultExchangeActor

If the counterpart commitment is not valid at this point move directly 
to the refund publication.
Merge pull request #198 from apoloval/task/BlockingOnExchange

Some advances on new order matching approach
Merge pull request #199 from sortega/issue/35_panic

Make some error conditions be resolved by publishing the refund transaction