First complete version of Kafka flowlet

Quick links:

README: https://github.com/caskdata/cdap-packs/blob/feature/kafka/cdap-kafka-pack/cdap-kafka-flow/README.md

BUILD: https://github.com/caskdata/cdap-packs/blob/feature/kafka/cdap-kafka-pack/cdap-kafka-flow/BUILD.md

Please don't scared by the number of lines changed. Only 2800 are in Java class (with quite an amount of javadoc inside). There are only four important/complicated classes:

1. `KafkaConsumerFlowlet` - Contains generic logic on Flowlet lifecycle and process method
1. `Kafka08ConsumerFlowlet` - Contains message fetching logic for Kafka 0.8.x
1. `Kafka07ConsumerFlowlet` - Contains message fetching logic for Kafka 0.7.x. Due to Kafka 0.7.x less good design, the code looks more complicated than the 0.8.x one.
1. `KafkaBrokerCache` - A ZK cache to gather Kafka broker information for 0.7.x. For Kafka 0.8.x, we use the one in Twill
any other available? If not may be better to list all options and say explicitly that those only are supported. Otherwise ppl will ask/try to find what are those you can retunr