Docs for `io` reading stuff plus added readinto to fix `io` usage

This closes #196 by adding some documentation about how one might want to use the `io` library with an `HTTPResponse`.  I wasn't actually sure where to put the example, as there didn't seem to be a relevant specific area.  Hence, I put it as an additional "usage" example.  But if it belongs somewhere else, I can move it easily enough.

One important caveat: the example does *not* work in the current master.  Apparently partial reading of `io` objects require the `readinto` method to also be implemented.  So the last couple commits do that and add a test to make sure it actually works as intended.

cc @shazow
This needs to be written as:

```rst
``io`` module.
```