Fix test cases in tests.unit.test_service

Be patient in test_service while waiting service to be spawned or killed,
because:
    * Service spawning has a limit of one process a second.
    * A test server in the cloud might have limited resources, the time there
      might be several times slower.

Change-Id: Idab1d1158ecc7564d0b1f9cdd32496496ff5b3f8
Ensure proxy callback threads exit during tests

On the consumer side, each message is consumed in a separate thread
but we currently have no way of waiting for all these threads to
complete.

In BaseRpcTestCase.test_call_timeout(), we complete the thread while
there is still a message handler running on the other side. This can
mean the consumer attempting to send its reply while other tests
are running, which clearly is a bad thing.

Make the connection close() and reset() methods in the kombu and qpid
drivers wait on proxy object threads before returning to avoid this
situation.

Change-Id: I8fb84b1dc7f31196ef27a5d1f8c4a3346b03e0ae
Merge "Ensure proxy callback threads exit during tests"
Merge "Fix test cases in tests.unit.test_service"