.http.connection: Don't leak tracebacks across exception contexts

Python 3 seems to want to store the traceback on the exception object.

Side effect is that exceptions thrown by the client no longer contain
their tracebacks.
async: Ensure future is consumed after timeout.