remove duplicate method from subclass
Express stream handling via middlewares

(This is an intermediate commit for review-ability purposes).

Streaming downloads to files is core functionality that needs to go in
the base HTTP class, so remove special casing from middlewares for
decompressing responses.
Move streaming requests to generic HTTP class