Refactor: Add interface MessageQueueProcessor for methods of QueueProcessor

* Extracts methods from `QueueProcessor` into new interface: `MessageQueueProcessor`.
* The reason for wanting to refer to this as an interface instead of directly by class is that we want to be able to mock it or insert other implementations in place of a `QueueProcessor` (for example, a JMS queue poller).

Ping @mikaellothman and @xiaodong-izettle