Discovery: If not enough possible masters are found, but there are masters to ping then these nodes should be resolved

After the findMaster() call we try to connect to the node and if it isn't the master we start looking for a new master via pinging again.

Note this PR is for the improve_zen branch.
This create one unicast host at random. It's a problem with lines bellow: 

```
 otherNodes.remove(nodes.get(0)); // <-- Don't isolate the node that is in the unicast endpoint for all the other nodes.
```

The ClusterDiscoveryConfiguration.UnicastZen has a constructor variant which allows you to give an array of unicast host ordinals. I think we should use that?