Add StreamIOIterWrapper, a file-like interface to a iterator.
Use res.iter_content() instead of res.raw.

Since res.raw is a raw file object it does
not handle decoding gzip, res.iter_content()
is the proper way to stream chunks.

Resolves #269.