pubsub: rewrite end-to-end test
pubsub: rewrite end-to-end test

- Organize top-down
- Publish messages in one loop instead of two
- Remove unnecessary abstractions
- Remove one subscription (obsoleted by the fact that you can't have
   more than one Receive at a time)

This CL is virtually identical to 9c9ddb9. The only significant change
is L174:

  dur := dur

which fixes the bug with the earlier version. I also switched to
UnixNano to generate unique topic names, to facilitate running
multiple tests in parallel.

Confirmed non-flaky by running 10x.

Change-Id: Ifb77fedf61fc4cc783cf56b6c1f19884764cd350
Reviewed-on: https://code-review.googlesource.com/11529
Reviewed-by: kokoro <2ac7b1f3fa578934c95181d4272be0d3bca00121@google.com>
Reviewed-by: Michael Darakananda <176c4818757ce942f02114959cee75d35f2575d9@google.com>

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