Add test with multiple waiting sender threads

The trickiest logic in the rabbit driver is to handle the situation
where multiple threads are waiting for a reply on the same reply queue.

This commit adds unit testing for that scenario and fixes some bugs with
it.

Change-Id: I5c8fbeec49572a4f3badbcdae414dc44dc690b6a