Implement the main form of operations view

This is a initial implementation of the form corresponding to the operations
view. It provides the controls necessary to insert the properties of a exchange
and submit it to the broker set.
Several improvements on UI order submission form

* The price model was inverted. The limit order should be enabled and the
market-price order should be disabled. It was the other way around, what has
been fixed.
* Use a custom `DecimalNumberTextField` that only accepts a decimal number
as input. This custom control implements the necessary event filters and
property listeners to forbid inputs that doesn't match a double number. This
new control is used for all text fields where a decimal number is expected.
* Inject a function to process the form submit. By default, this only shows
a dialog informing the order was submitted.
* Remove innecesary fields for custom priced orders.
* Require a valid bitcoin amount to enable the _submit_ button.
* Adecuate some labels to finantial jargon
* Some style issues fixed.
Merge pull request #216 from apoloval/issues/80

Implement the main form of operations view
Add more GUI tests
Small refactor in OrderSubmissionActor
Merge pull request #223 from edrevo/small-refactor

Small refactor in OrderSubmissionActor
Merge pull request #221 from edrevo/add-ui-tests

Add more GUI tests
Consider Order class as a domain model type

The order class was placed in `protocol.messages.brokerage` package, since it
was considered as part of a protocol message. But this type is actually
representing an entity of the Coinffeine domain model. Thus, the class has been
moved to the `common` package until we have a better place to store our
domain model classes.
Introduce an interface to the broker in Coinffeine API

The `CoinffeineApp` trait, which provides the API of a Coinffeine peer,
lacks a way to interact with the broker. This change provides such an interface
and its default implementation, which uses the `PeerActor` instance to
request the submission of orders.
Merge pull request #218 from apoloval/issues/82

Integration of UI and order submission logic
Introduce the `ProductionCoinffeineApp` component

A new object `ProductionCoinffeineApp` is defined with a inner `Component`
trait that binds all the components of the cake pattern to have a
production-ready app. The `Main` object extends such component.
Add support to serialize and expose the order book
Merge pull request #224 from gotoalberto/task/85

Add support to serialize and expose the order book
Use domain model class `Order` in UI operations view

Instead of define its own case classes to describe the resulting form inputs,
it is better to use a domain model class to describe what the form is gathering.
Bind UI order submission to coinffeine app

This change makes the UI order submission function to invoke
`Broker#submitOrder()` function on the instance provided by `CoinffeineApp`.
It uses a progress dialog to show how the order is submitted.
Make the app to stop on UI closing

This fixes bug #227.
Merge pull request #228 from apoloval/issues/82

Bind the order submission UI and its business logic