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. 
I think this queue action should be extracted to the calling controller as the classificatons worker reconstructs this lifecycle object , e.g. in the classifications_controller the lifecycle method could become
``` ruby
def queue(classification, action)
  ClassificationLifecycle.new(classification, cellect_host).update_cellect
  ClassificationWorker.perform_async(classification.id, action)
end
```
OR update cellect in the worker but i think we want this to be updated asap as users might see the same subject if it's not.