Delayed delivery

Support for sending messages with an arbitrary delay. Uses an alternate,  dead letter exchange - each message has a TTL. This is the concept: https://www.cloudamqp.com/docs/delayed-messages.html

If this works we should be able to implement retries by overriding the header on the message, or something. Maybe. Anyway, this is necessary but not sufficient for retries.

@joecannatti Dave said this might be of interest to some of your Gregory work.
It's the name of the queue on the dead letter exchange. There needs to be a queue and an exchange separate from the main exchange. This only works with on dead letter exchange and queue, and all messages use the same one. The assumption is that you do not care what this is, unless you already use 'pwwka' in you RabbitMQ queue names. Seems unlikely.