Message queue consumer

Add a task to listen for messages on the published_documents exchange and update the corresponding entries.
I think it would be good to separate out the connection config from the consumer config in the rabbitmq.yml file.  This would mean you could put the actual consumer config into the rabbitmq.yml file directly, and also be cleaner (and more robust against Bunny.new() getting fussier in future about unknown parameters being passed to it).