- Add a new method Publisher.NotifyPublishWithReturn that ensures proper pairing
of returns and confirmations according to RabbitMQ protocol where returns are
immediately followed by confirmations for unroutable messages
- Add comprehensive integration tests covering routable/unroutable scenarios
with mandatory and non-mandatory publishing
This addresses the issue where NotifyPublish() and NotifyReturn() handlers
run in separate goroutines and can go out of order, making it difficult to
properly link returned messages with their confirmations for reliable
unrouted message handling.