KafkaSink with SuroKeyedMessage

- SuroKeyedMessage with partioning key
- MessageSerDe is fixed accordinly
- DefaultMessageContainer created instead of just-in class
- kafka.metrics property is changed to kafka.etc
- keyTopicMap for setting the field name as partition key
- partition key's hashCode() is used by kafka producer key
Merge branch 'ISSUE-48' into ISSUE-42
JUnit Rule TemporaryFolder replaced all temporary folder code
KafkaServer, ZK ExternalResource are added
KafkaSink import optimization
Merge pull request #51 from metacret/ISSUE-37

Issue 37