First pass at Enumerator implementation

Going to make a second pass that isn't a complete rewrite, but instead
wraps an Escalator client with Enumerator logic.
Enumerator implementation working & tested

Haven't tested resharding yet, and have some doubts about whether this
implementation makes sense.

The use case I've been thinking about is how to pull from Kinesis and
put in S3 (preferably without any intermediate file system storage). In
this case you want to "drain" the shard. There isn't a way to ask
Kinesis, "roughly how many records are available", and the Enumerator
API feels wrong for doing this. Maybe what we want to do it use Channels
to push through an Iteratee, but it's not really clear yet.