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.
nit picking - I would call specificMinimumMasterNodes just minimumMasterNode and update it before the settings (makes the setting code more readable)

```
minimumMasterNode = minimumMasterNode < 0 ? numberOfNodes / 2 + 1 : minimumMasterNode
```