Extract an interface for EtlKey
Teach EtlKey and CamusWrapper to to carry partition information as a map

CamusWrapper can collect data from Records in the MessageDecoder. This
will be passed on to EtlKey, which will be passed to the Partitioner.
Extract a Partitioner interface and the current implemention as the DefaultPartitioner

This will allow an arbitrary partition scheme based on data present in the record.
Not just timestamp
Added the ability to configure per-topic Partitioners

Use the property etl.partitioner.class.<topic-name>=... to set a per-topic Partitioner
Will default to the property 'etl.partitioner.class' if not specified for a given topic
Set the default Partitioner BEFORE the properties are applied
Merge pull request #10 from RallySoftware/partitioner

Support Arbitrary Partitions for the commit phase of camus
Teach EtlMultiOutputFormat to use snappy compression

Set etl.output.codec=snappy to enable snappy compression
Merge pull request #11 from RallySoftware/snappy-compression

Teach EtlMultiOutputFormat to use snappy compression
Adding flag to post tracking counts to Kafka and count to prevent the mapper getting inundated with decoder exception counts