Add CastAsCall fixture

In Ia7f40718533e450f00cd3e7d753ac65755c70588 we made the EC2 integration
tests treat all RPC cast()s as call()s. The idea being that rather than
insert sleeps in the tests to ensure that a cast()ed operation is
completed before we continue, we instead just do the operation with
call() and thereby block until it is completed.

If we take a step back, the approach is questionable - if there's no way
for us to block on the completion of an async task in our unit tests,
what hope do users have?

But, it is a sweet little hack, and is better than sleeping in tests.

With oslo.messaging, it will be both harder to implement this hack and
seemingly needed more often. Encode the hack as a fixture so it can be
easily re-used.

blueprint: oslo-messaging
Change-Id: I5f9e74f46e347594103484460e81da46835eeb7e
Merge "Add CastAsCall fixture"