pubsub: unflake TestMultiStreams
pubsub: unflake TestMultiStreams

- Re-write TestMultiStreams to take into consideration the
fail-fast behavior added in https://code-review.googlesource.com/c/gocloud/+/34191.
Now, TestMultiStreams will only assert that multiple streams
get messages, not that multiple messages are round robined in
a certain manner (which is no longer strictly true - it's best
effort, which caused flakiness). Formerly, TestMultiStreams
would fail within ~100 runs. Now it passes with -count 10000.

- Refactor TestMultiStreams to have zero goroutine leaks, as
tested with leakcheck.Check.

- Refactor many pstest tests to use context.TODO instead of
context.Background for future goroutine cleanups.

- Refactor newFake to return a cleanup function that cleans
up both the server and the conn object (which was being leaked).

Change-Id: I948c73bbb185fc6f0929f7ab61883486e202b764
Reviewed-on: https://code-review.googlesource.com/c/34870
Reviewed-by: kokoro <2ac7b1f3fa578934c95181d4272be0d3bca00121@google.com>
Reviewed-by: Eno Compton <ad9228447a2ef39a5712f4b80b45071fa843fa0d@google.com>

googleapis/google-cloud-go,googleapis/google-cloud-go,googleapis/google-cloud-go,googleapis/google-cloud-go