Make `ProtocolSerialization` throw a specific exception rather than IAE

When protocol version in incoming message doesn't match the current one,
a `InvalidArgumentException` is thrown. This change makes it to throw a
specific exception `ProtocolVersionException`.
Expect a message to have a invalid protocol version in `ProtoMessageGateway`

To prevent the exception thrown by the serializer to terminate the actor.
Merge pull request #333 from sortega/issue/111_order_actor

Make order actor persistent
Merge pull request #336 from apoloval/task/cf-105

Some improvements to deal with peers using different protocol versions
Fix check for updates

* Fix invalid URL of version config
* Fix wrong `CoinffeineVersion.isNewerThan()`
Merge pull request #337 from apoloval/fix/check-for-updates

Fix check for updates
Fix serialization

Use a custom build of akka-kryo-serialization that has a fix for
https://github.com/romix/akka-kryo-serialization/issues/35
Change semantics of MutablePropertyMap handlers

Handlers will be invoked when added for the preexisting keys.
Make order created notification appear once

Notify when the order is first created and not when it is restored.
Introduce a new NotStartedOrder order status to make it possible.
Fix ObservableBufferPimp

Make it consider elements existing before the binding.
Style fixes

 - Remove compiler waring in bitcoin implicits
 - Remove unused import
Merge pull request #338 from sortega/fix_serialization

Fix serialization to make open orders persistent between runs