Serve Play documentation from a JAR file

This means Play can be distributed without needing to unzip
files onto the filesystem. This will make it easier for Activator
to interact with Play.

* Made new project, play-docs, which includes code for serving
  documentation along with the documentation content.
* The play-docs project takes responsibility for generating the
  api-docs. This happens before every package operation, which
  makes things a bit slow for publishing. That will need to be
  sped up somehow.
* The plugin's run task now runs the documentation application
  in a separate classpath to the user's code.
Merge pull request #1444 from richdougherty/doc-jar2

Serve Play documentation from a JAR file
Adding hooks for play run lifecycle

So we can track things inside activator, or other play-plugin additions.

* Deprecate old PlayOn* settings
* Create a new PlayRunHooks trait to listen to lifecycle events
* Add PlayRunHooksTask, that is retreived when play-run is called
Abstract out the 'user interaction' in the run task

* Fix bug with JLine2 upgrade where Ctrl-D isn't recognized
* Add PlayInteraction trait that describes how play blocks for input
* Wire in the default interaction mode as Console/Terminal
The run task should be scoped to "Compile" config to match sbt

Otherwise, we still have shadowed run tasks and oddness.
Make play run hooks, classpaths, and classloaders configurable

This is to allow the Typesafe Console plugin to provide instrumented
class loading.

* The dependency and reloader classloaders are created using
  functions that can be overridden via sbt settings.
* The full runtime classpath is partitioned into external
  dependencies, for the dependency classpath, and user classes,
  for the reloading classpath.
* The shared application loader is removed to have only one
  dependency classpath and classloader that can be configured.
Merge pull request #1456 from pvlugter/sbt-plugin-integration

Improve sbt plugin integration