Don't close connections twice; fixes Netty HTTPS deadlock

* The deadlock was caused by Play closing Netty connections twice.
  Usually Netty silently handles this invalid usage, but HTTPS
  connections can deadlock when closed twice, due to a race in
  Netty's SslHandler.closeOutboundAndChannel method.
* 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.