Forward-port Netty handling tests from 2.1.x branch

* Added tests to verify Play's interactions with Netty. We can now
  do cool things like simulate failure to send a response and check
  that connections are still closed properly. Most importantly
  though, we can check that close is only called once. This is
  very difficult to test usually because Netty either ignores
  the second close or occasionally - and only when using an HTTPS
  connection - deadlocks on the second close (#1623).
Share code between NettyHandlingSpec and ServerBenchmark

* Refactor code in NettyHandlingSpec into NettyRunners and
  NettySpecification.
* Move ServerBenchmark into Play-Integration-Tests so that code can
  be reused.
* Rewrite ServerBenchmark to use logic from new NettyRunners class.
  The benchmark is now slightly slower than before, probably because
  a separate channel is created for each request. This was a
  necessary change as part of the refactor, but it also gives a
  more realistic test.
Merge pull request #1664 from richdougherty/netty-test

Forward-port Netty handling tests