Format version only if it exists

An App has no version when it is first created. Format the version only
if it exists (has been returned from the server).
ThreadPoolContext: global execution context, which is backed by a cached thread pool.
Replaced all occurrences  of global execution context to the thread pool context.
Merge pull request #328 from mesosphere/wip-separate-threadpool

Replace global ExecutionContext by a cached thread pool context
Add Mousetrap for handling keyboard shortcuts

* Switch modal to use Mousetrap for “esc” rather than custom binding
* Bind to “c” globally for creating a new application
* Bind to “#” when the app modal is open to delete the app
Consolidate Mousetrap binding to top level

The top level “App” should be the dispatcher for keyboard events.
Centralize modal behavior into Marathon component

* Remove NewAppButtonComponent; it’s just a simple button
* Create “Marathon” component, which is the root of the application
* Move control of the new app modal into the application rather than
  the button (a button shouldn’t own a modal)
Let NewAppModal instantiate its own model

This means the instaniator can do whatever it wants with the App
including nothing. The NewAppModal now has control of its modal and
passes it back onCreate, which encapsulates the model creation.
Remove unused Mousetrap reference
Remove duplicate 'mixins' declaration from AppModalComponent