Fix one of the tests for a remote storage QueueManager
Fix one of the tests for a remote storage QueueManager

Specifically, the TestSpawnNotMoreThanMaxConcurrentSendsGoroutines was failing on a fresh checkout of master.

The test had a race condition -- it would only pass if one of the
spawned goroutines happened to very quickly pull a set of samples off an
internal queue.

This patch rewrites the test so that it deterministically waits until
all samples have been pulled off that queue.  In case of errors, it also
now reports on the difference between what it expected and what it found.

I verified that, if the code under test is deliberately broken, the test
successfully reports on that.

yanghongkjxy/prometheus,sudhi-vm/prometheus,tattsun/prometheus,Stackdriver/stackdriver-prometheus,keegancsmith/prometheus,SaltedMan/prometheus-annotated,SaltedMan/prometheus-annotated,keegancsmith/prometheus,amorken/prometheus,GoogleCloudPlatform/prometheus,Conorbro/prometheus,dmilstein/prometheus,brancz/prometheus,alileza/prometheus,prometheus/prometheus,slok/prometheus,Gouthamve/prometheus,gottwald/prometheus,AlekSi/prometheus,datajet-io/prometheus,amorken/prometheus,slok/prometheus,sudhi-vm/prometheus,dsymonds/prometheus,dmilstein/prometheus,agaoglu/prometheus,Gouthamve/prometheus,datajet-io/prometheus,kangwoo/prometheus,datajet-io/prometheus,dmilstein/prometheus,Conorbro/prometheus,adamron1/prometheus,Conorbro/prometheus,gottwald/prometheus,tattsun/prometheus,Gouthamve/prometheus,alileza/prometheus,brancz/prometheus,yanghongkjxy/prometheus,keegancsmith/prometheus,prometheus/prometheus,keegancsmith/prometheus,dsymonds/prometheus,kzittritsch/prometheus,JavierZunzunegui/prometheus,tattsun/prometheus,slok/prometheus,adamron1/prometheus,prometheus/prometheus,tomwilkie/prometheus,Stackdriver/stackdriver-prometheus,Stackdriver/stackdriver-prometheus,kzittritsch/prometheus,adamron1/prometheus,kzittritsch/prometheus,AlekSi/prometheus,agaoglu/prometheus,PrFalken/prometheus,keegancsmith/prometheus,PrFalken/prometheus,slok/prometheus,brancz/prometheus,amorken/prometheus,AlekSi/prometheus,kangwoo/prometheus,GoogleCloudPlatform/prometheus,SaltedMan/prometheus-annotated,alileza/prometheus,sudhi-vm/prometheus,GoogleCloudPlatform/prometheus,tattsun/prometheus,agaoglu/prometheus,kangwoo/prometheus,Gouthamve/prometheus,yanghongkjxy/prometheus,dsymonds/prometheus,Colstuwjx/prometheus,adamron1/prometheus,datajet-io/prometheus,JavierZunzunegui/prometheus,agaoglu/prometheus,SaltedMan/prometheus-annotated,yanghongkjxy/prometheus,Colstuwjx/prometheus,GoogleCloudPlatform/prometheus,ton31337/prometheus,kzittritsch/prometheus,kangwoo/prometheus,amorken/prometheus,tomwilkie/prometheus,PrFalken/prometheus,tomwilkie/prometheus,JavierZunzunegui/prometheus,sudhi-vm/prometheus,gottwald/prometheus,PrFalken/prometheus,AlekSi/prometheus,JavierZunzunegui/prometheus,brancz/prometheus,dmilstein/prometheus,alileza/prometheus,tomwilkie/prometheus,ton31337/prometheus,Conorbro/prometheus,dsymonds/prometheus,gottwald/prometheus,GoogleCloudPlatform/prometheus,ton31337/prometheus,prometheus/prometheus,Colstuwjx/prometheus,alileza/prometheus,ton31337/prometheus,prometheus/prometheus,Colstuwjx/prometheus,Stackdriver/stackdriver-prometheus