1) We cannot send "Connection: close", because the fsouza docker client
expects the tcp socket to stay open between requests.
2) Because we cannot force-close the connection, we can't hijack the
connection (because go's net/http doesn't let use un-hijack it).
3) Because we need to maintain the individual chunking of messages (for
docker-py), we can't just copy the response body, as Go will remove and
re-add the chunking willy-nilly.
Therefore, we have to read each chunk one-by-one, and flush the
ResponseWriter after each one.