Introduce the common.bitcoin package

It offers typedefs for the most common bitcoinj types and some goodies
such as ImmutableTransaction to help with case class design.
Use ImmutableTransaction in public messages

To make it work, tune the following details:

 * Don’t use mocks in MockHandshake at they are not serializable
 * Remove UnitTestNetworkComponent as it is redundant
 * Rename from CoinffeineUnitTestParams to CoinffeineUnitTestNetwork for
   consistency
 * Remove ImplicitSender from CoinffeineClientTest as it is redundant
 * Improve BitcoinjTest to allow for test that use the blockchain in
   sequence
 * Make UnitTest compatible with AkkaSpec
Merge pull request #188 from sortega/issues/41

Introduce a `common.bitcoin` package
Remove compilation warnings on MockExchange
Remove abstract types on common.exchange.Exchange
Split Exchange trait in two

The Exchange trait had two functions: hiding how the exchange protocol 
works (just the createHandshake method) and holding descriptive 
information about an exchange (the rest of the methods, getters in fact).

The former function is kept in an Exchange case class and the former
into a new trait named ExchangeProtocol.
Fix UnspentOutput issues

The class was an invalid case class since TransactionOutput is a 
mutable class and there was a lot of duplicated code related with its
initialization.
Use a strong PRNG for exchange id generation
Merge pull request #190 from sortega/issues/41

Remove abstract types on Exchange
Make protocol implementation classes not case classes
Introduce ExchangeTest as a test base trait

To remove test duplication
Use TransactionProcessor on client.exchange.DefaultExchange
Fix Deposits case class

Remove unnecessary generic variable and add utility method toSeq.
Implement DefaultMicroPaymentChannel

And fix some bugs to make its tests pass
Merge pull request #191 from sortega/issues/41

Implement DefaultMicroPaymentChannel
Bump sbt to 0.13.5 to avoid misleading warnings

This fixes #187
Improve build instructions for Linux users
Merge pull request #192 from sortega/issue/187_bump_sbt

Bump SBT and improve README.md
Use ExchangeId everywhere

Rename Exchange.Id to ExchangeId and move it to the messages package
and then use it whenever an exchange should be identified.
Use Exchange.Parameters from ExchangeInfo