Enable windowed read and write.

This is done by extending the existing read_band() and write_band()
methods. The windows that can be read and written most efficiently
are the 7nes that come from the new block_windows property.

Closes #6.
Merge branch 'master' of github.com:sgillies/rasterio