Integrating Kafka partitioning scheme with Voldemort cluster.xml

- Rename KafkaConsumerDefinition to KafkaTopicDefinition as it will be used by both client and server
- Read from cluster.xml to initialize the VeniceStore
- Add consistent partition, serializing classes for Kafka to use
- Adding KafkaRoutedStore object for producing objects into Kafka
If we're going to couple Voldemort's RoutingStrategy to Kafka's Partitioner, then do you think it'd make sense to make RoutingStrategy implement Partitioner, rather than ConsistentRoutingStrategy?

This way, any Voldemort RoutingStrategy type could be used with a Venice Store.