Add another handler to requeue

Idea is to create a retry exchange RX, create a queue RQ specifying the original exchange as its DLX and bind to RX.

On requeue, the handler will publish a copy of the message with an expiration to the RX, since RQ is bound but doesn't do anything with the message, it'll timeout after the given expiration and will the forwarded to its dead letter exchange, aka original exchange.

Retry count is a header param and always incremented before publishing and halts re-publication when reaches the max.
just this might be a bad idea, we don't want to publish to the exchange again, because it might be a valid message for another service bound to this exchange. we rather just publish it back to this specific queue/routing_key.