[#921] Ensured WS closes the stream when iteratee is done early

By default, if you abort consuming the response in async http client, the client will drain the response so that it can put the connection back into the pool.  This obviously causes problems with very large bodies, or infinite streams.  This ensures that if the iteratee is done early, we close the connection rather than drain it.