There was a problem with aquatic_http with clients announcing
less often than requested interval and getting purged, making
file transfers less reliable
This means
* less fluctuation in number of responses send per second
* longer poll timeouts can be used since poll is woken when
responses are available for sending
* drain-like method used to fetch responses from response
channel, meaning responses added while iterating won't
be processed
This might be good for performance in the real world. It also
enables fairer load test comparisons with opentracker, which
in my understanding drops connections after sending responses.
It doesn't make a lot of sense to make a separate crate for
the few things here. I don't really want tight coupling between
the crates anyway, since it impedes making changes in them
and makes understanding them more difficult.