Add LeaderConnector

Finds the leader for a given topic and partition and returns a Consumer
connected to found leader.
Add PartitionConsumer

A consumer whose sole purpose is to fetch messages for a given topic and
partition combination. Uses the new LeaderConnector to automatically
determine the leader for its topic and partition combination. Adding a
separate thread for fetching metadata from brokers seem a bit overkill
right now, but will probably be added when work starts on a new high
level consumer (that isn't dependent on using ZooKeeper).