Add infrastructure to retrieve version information from a web server

This will be used by the UI to inform the user about new releases of the app.
Reorganize Main class

`Main` responsibilities has grown too far. This commit splits most of its
launching actions in different classes.
Add a launch action to check for updates
Merge pull request #327 from sortega/issue/113_persistent_exchange

Make the exchange actor persistent
Fix several issues in app updating & launching

* Use clearer names in `VersionChecker`
* Remove `LaunchAction` trait
* Extend `PrimaryStage` in a new class instead of anonymously
* Remove `NotificationManagerRunAction` and `DisplayMainWindowAction`
Merge pull request #329 from apoloval/task/cf-104

Implement check for updates in UI
Make OrderController to produce events for order publication

Replace a direct use of an OrderPublication by the creation of events
to prepare for having an event-sourced OrderActor.
Make OrderController to produce events for funds blocking

Instead of requesting the funds and using callbacks move that
responsibility to the OrderActor to prepare for making it persistent.
Simplify OrderController

Move common stuff from WaitingForMatchesStates to the controller and
expose less things on StateContext.
Merge pull request #330 from sortega/issue/110_order_actor

Prepare OrderActor for persistence
Extract ResubmitTimer from seller channel actor
Use ResubmitTimer in buyer channel actor

This fixes #131
Merge pull request #331 from sortega/issue/131_bug

Fix #131: Payment proofs are not resubmitted by the buyer