Add a default Workflow model.

This essentially moves the Workflow model from the test app into the Taverna
Player namespace. It should make setting things up from scratch a lot easier and
can still be overridden with a custom Workflow model.
Fix up the user proxy for tests vs the dev app.

The tests should use the fixtures, the dev app should use a defined user.
Update the installer templates.

Now refer to the Taverna Player Workflow model.
Refactor ModelProxy so constantization is delayed.

Doing the constantize step in the initializer prevents us from setting up a
proxy before any models are actually loaded so delay it until first access.
Set the internal Workflow model to be the default.
Only route TavernaPlayer::Workflow if it is in use.

The host app can override this model so we don't always need to add the route.
Allow extending of the internal Workflow model.

Turn it into a concern like the other models.
Allow extending of the internal Workflow controller.

It is now a concern like the other controllers.
Add the internal Workflow stubs to the generators.
Set the workflow model proxy more simply.

If the standard overrides are suitable, otherwise continue to use the block
version.
Update the ReadMe with new workflow model infomation.
Ensure the proxied models use a rooted (::) namespace.

This makes sure that there are no clashes with similar names. Without this it
is possible that proxy names could end up either in, or clashing with names in,
the TavernaPlayer namespace. This can probably only happen with Workflow <->
TavernaPlayer::Workflow at the moment, but this is safe now in the future.
Add specific tests for the ModelProxy class.

We were relying on this being tested during configuration until now, but when
the configuration changes we risk losing test coverage.
Output JSON for the workflows controller.
Add a routing test for the workflows controller.
Merge branch 'default-workflow-model' into next

* default-workflow-model:
  Add a routing test for the workflows controller.
  Output JSON for the workflows controller.
  Add specific tests for the ModelProxy class.
  Ensure the proxied models use a rooted (::) namespace.
  Update the ReadMe with new workflow model infomation.
  Set the workflow model proxy more simply.
  Add the internal Workflow stubs to the generators.
  Allow extending of the internal Workflow controller.
  Allow extending of the internal Workflow model.
  Only route TavernaPlayer::Workflow if it is in use.
  Set the internal Workflow model to be the default.
  Refactor ModelProxy so constantization is delayed.
  Update the installer templates.
  Fix up the user proxy for tests vs the dev app.
  Add a default Workflow model.
Bump version number.
Merge branch 'next'

* next:
  Add a routing test for the workflows controller.
  Output JSON for the workflows controller.
  Add specific tests for the ModelProxy class.
  Ensure the proxied models use a rooted (::) namespace.
  Update the ReadMe with new workflow model infomation.
  Set the workflow model proxy more simply.
  Add the internal Workflow stubs to the generators.
  Allow extending of the internal Workflow controller.
  Allow extending of the internal Workflow model.
  Only route TavernaPlayer::Workflow if it is in use.
  Set the internal Workflow model to be the default.
  Refactor ModelProxy so constantization is delayed.
  Update the installer templates.
  Fix up the user proxy for tests vs the dev app.
  Add a default Workflow model.