discoverd/client/dialer: Try to dial each service before giving up

Instead of trying to dial a single random instance once, try to dial
each instance in the list in random order before giving up.

This should fix one or two intermittent test failures.

Refs #686

Signed-off-by: Jonathan Rudenberg <jonathan@titanous.com>