Initial stab at Zookeeper-managed topic consumer.

This needs some work, but is ready for a first look. This implements the zookeeper logic to have a nice consumer group:

- It discovers the Kafka cluster as it is defined in Zookeeper.
- It load balances based on the number of running consumers
- It commits the offset for every partition to Zookeeper every x seconds (current x is hardcoded to 1 second)
- It automatically resumes from the latest committed offset.

This is heavily based on https://github.com/bsm/sarama/tree/master/cluster, but large parts are rewritten because it wasn't working for me. The Zookeeper-backed consumer group management should be compatible with the JVM library, as documented here: https://cwiki.apache.org/confluence/display/KAFKA/Offset+Management

### TODO

- [ ] Error handling needs a close look.
- [x] Make some hardcoded values configurable (e.g. the commit interval of 1 second) 
- [x] Remove a bunch of logging statements.
- [x] KafkaConsumer and ConsumerGroup should probably be merged into one type.
- [x] Some stuff in PartitionConsumer should move to Sarama to clean up the implementation.

@jnormore @berkcaputcu @manygrams /cc @eapache @bsm