Split Netty server code into separate subproject

This change splits out Play's generic server code and Netty server code
into new projects. Later, I'm going to add a new akka-http server
project, so it's nice to get the Netty code out of the core Play
module.

Before this change, the "play" project included server code and
had a dependency on Netty.

    netty <- play

Now that I've split out the generic and Netty server code, the
play project no longer has a dependency on Netty. I introduced
several new projects:

                                      netty <-.
    play-netty-utils <- play <- play-server <- play-netty-server

* play-netty-utils. Contains cookie encoding and decoding logic
  that I pulled out of Netty's 3.9 branch. The files have been
  added under the play.core.netty.utils package. (Netty has the
  same license as Play and I preserved the source file headers.)

* play-server. Generic server code. There's not much here yet.

* play-netty-server. Netty server code. All the bits we need to
  launch a Netty server.

Existing Play applications will now depend on play-netty-server
rather than on play. I've updated the Play plugin to automatically
add this new dependency into projects.

I've tried to minimise the changes to Play's code. The main thing
I needed to do was add a server-agnostic representation for
WebSocket frames and formatting, but this wasn't an API change for
users. The other thing I did was move some play.core classes into
different packages.
Allow the logging configuration file to be called logback.xml which is one of the standard names. By default logback looks for files named logback.groovy, logback-test.xml, and logback.xml. Using the standard name allows it to be used much more easily with other tools like Eclipse and also makes it obvious that logback is being used so that it is easier to lookup reference materials for logging configuration
Improve Java Json documentation
Fixed JNotify load detection

This ensures that dev mode works on FreeBSD.
Merge pull request #3165 from richdougherty/server-split

Split Netty server code into separate subproject
Merge pull request #3166 from benmccann/logback-xml

Allow the logging configuration file to be called logback.xml
Merge pull request #3143 from gmethvin/java-json-docs

Improve Java Json documentation
Merge pull request #3164 from jroper/jnotify-load-failure-detection

Fixed JNotify load detection
Add support for JDK7 watch service

* Automatically uses JDK7 watch service if available and not OSX
  (because on OSX it does polling)
* Otherwise attempts to use JNotify if Windows, OSX or Linux
* Falls back to SBT watch service if all others fail
* Can be configured by end user
* Made the dev-mode tests test all 3 watch services (if available)
* Made the dev-mode tests a little more robust and faster by spinning
  for up to 10 seconds to wait for conditions to be true.
Merge pull request #3173 from jroper/jdk7-watch-service

Add support for JDK7 watch service
Changed Play Intro / Feature Tour Templates

Signed-off-by: Markus Jura <markus.jura@gmail.com>
Build improvements - less repetition
Added documentation about the SBT assembly plugin
Fixed scaladoc for WebSocket.tryAcceptWithActor
Removed usage of festassert from play-java-intro template
Merge pull request #3172 from jaceklaskowski/sbt-build-improvements

Build improvements - less repetition
Change order of path to activator in PATH variable

I had problems with setting the path to activator and/or play when the path came after the content of the PATH variable when using ubuntu. I think it is less error-prone when we add the activator path at the beginning of the PATH variable.
Merge pull request #3181 from jroper/sbt-assembly-docs

Added documentation about the SBT assembly plugin
Ensured WatchService watches directory recursively

* Also fixed MatchError on FreeBSD
Merge pull request #3187 from jroper/watch-service-recursive

Ensured WatchService watches directory recursively