Play should not close all async result connections

Play was closing all connections if it was an async result.  It was also
closing connections in a number of other places that it shouldn't, such
as when an async action threw an exception and when a handler could not
be found.

This fixes the problem, by ensuring the `closeConnection` flag is
propogated when async results are recursively unwrapped.

It also fixes #1958, when we do close HTTP 1.1 connections, we need to
set a `Connection: close` header, otherwise the client might reuse the
connection before it finds out the connection is closed.
Merge pull request #1959 from jroper/connection-close-2.0

Play should not close all async result connections