Int tests

Refactored to allow replacing the ConnectionProvider and MessageConsumers which means that we can mock them up and test the worker without using RMQ.