Message queue: add support for message deduplication
Message queue: split apart worker & handler logic for easier unit testing
WIP: Message queue: new unit tests