Add Sidekiq and Kafka. 

Also:
+ KafkaEvent to publish arbitrary info about models, still kind of a work in progress
+ ClassificationLifecycle management moved to a sidekiq worker
+ MultiKafkaProducer Module to abstract between jruby-kafka and poseidon. 

When running jruby you'll also need to use jbundler to manage Kafka libraries. 
There are common statements depending on the branch of the `unless kafka_config.empty?` it could perhaps be:
```ruby 
adapter, kafka_config = if kafka_config.empty?
  [ :null, {} ]
else
  [ nil, kafka_config ]
end
MultiKafkaProducer.adapter = adapter
MultiKafkaProducer.connect(kafka_config[:producer_id], *kafka_config[:brokers])
```