I'm not sure that this is entirely implemented correctly; without [pushing the size](http://nodejs.org/api/stream.html#stream_readable_read_size_1) if it exists I'm not sure this implements back pressure.  But if the tests pass I'm fine with merging this for now.