waitForServiceShardsOrFail waits for the service to appear (or disappear) in the clientsets specifed in presentInCluster (or all if presentInCluster is nil).
If presentInCluster[n] is true, then wait for service shard to exist in the cluster specifid in clientsets[n]
If presentInCluster[n] is false, then wait for service shard to not exist in the cluster specifid in clientsets[n]
Fail(fmt.Sprintf("Internal error: number of clients (%d) does not equal number of pods (%d). One pod per client please.",len(clusterClientSets),len(pods)))