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
My original thought was to enforce that ConsistentRoutingStrategy be used if the store is using Venice. 

Kafka Partitioners are required, and (I think) rely on a 1 to 1 message to partition ratio, which wouldnt work because of RoutingStrategies such as RouteToAllStrategy.

There are ways around this, but I'm not totally sure if they would be useful.