Add support for response.raw attribute.

Response objects in requests are documented to contain a `raw` attribute that is a file-like object.  When the request is made with `stream=True`, the `raw` attribute can be read to stream in the content.  Otherwise, the `raw` attribute looks like a file-like object with no bytes left to read.

This PR adds support for the raw attribute and its behavior (at least how requests behaves currently).
Won't you need a third fallback here for `from StringIO import StringIO` on Python 2 platforms that do not support `cStringIO`?