BUG-8618: fix test driver
Since the test can produce bursts of completions, which in turn can
get slowed down by writout of new messages, offload future completion
to the executor we have internally. This in turn simplifies things,
as we can rely on state being manipulated (mostly) from a single thread.
Also change ArrayDeque to a HashSet to ensure removal of tasks completes
quickly even in face of misordered responses.
Change-Id: Ia5341633af2dbe3e26e7208436405daf7632a876
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit
2be77b3bcef31ad8b6dbdce073471561d2cf76d6)