Collect stream.py methods into Shard class #17
Collect stream.py methods into Shard class #17

The following were broken into pieces and added to Shard:
- get_iterator
- advance_iterator
- refresh_iterator

- added Shard.heartbeat
- added Shard.jump
- added Shard.seek
- Shard.__next__ buffers results

There were a number of logic improvements and simplifications
along the way, too numerous to count.  These will hugely simplify the
Coordinator implementation, which for instance no longer needs to manually
perform a `seek` within a Shard.

In brief:
- `seek` uses an optimized version of `__next__`
- removed the need to track empty responses in a Shard
- rolled iterator type, sequence number, and exhaustion tracking into
  one method (except in `seek`, which avoids the function for performance)

numberoverzero/bloop,numberoverzero/bloop