watch: Enhance benchmark
watch: Enhance benchmark

- Wait for watchers to attach to the broadcaster before publishing
  events.

- Split benchmarks between Publish* and Watch*. The former only measure
  the throughput of calling Publish in a loop. The latter also wait for
  the watchers to receive all the events.

- Add variants of the benchmarks for more than one concurrent publisher.

Signed-off-by: Aaron Lehmann <8ecfc6017a87905413dcd7d63696a2a4c351b604@docker.com>

diogomonica/swarmkit,fate-grand-order/swarmkit,yongtang/swarmkit,deljuven/swarmkit,RenaudWasTaken/swarmkit,vasil-yordanov/swarmkit,docker/swarmkit,runshenzhu/swarmkit,vasil-yordanov/swarmkit,aaronlehmann/swarmkit,elifa/swarmkit,aaronlehmann/swarmkit,yp-engineering/swarmkit,alyyousuf7/swarmkit,dperny/swarmkit-1,deljuven/swarmkit,sungwonh/swarmkit,yongtang/swarmkit,fate-grand-order/swarmkit,cheyang/swarmkit,runshenzhu/swarmkit,cheyang/swarmkit,RenaudWasTaken/swarmkit,elifa/swarmkit,jlhawn/swarmkit,alyyousuf7/swarmkit,diogomonica/swarmkit,jlhawn/swarmkit,allencloud/swarmkit,AliyunContainerService/swarmkit,docker/swarmkit,Noyan759/swarmkit,AliyunContainerService/swarmkit,yp-engineering/swarmkit,cezarsa/swarmkit,dperny/swarmkit-1,Noyan759/swarmkit,cezarsa/swarmkit,allencloud/swarmkit,sungwonh/swarmkit