MB-8089 Look at nodes set instead of size in auto_failover_logic.

Specifically, when deciding if we need to notify the user about the
fact that cluster is too small for autofailover and when resetting
nodes' down states.

Change-Id: I20f8a41d5bdeb433904ce6158e041aa1968eb89e
Reviewed-on: http://review.couchbase.org/32624
Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Update vbmap tool.

Main change compared to previous version is faster 3rd phase which is
generation of actual vbucket map from matrix R. It's not an order of
magnitude difference, but "go test" now takes about 90 seconds on my
machine versus 220 using the old code.

In addition to that, when we try to minimize pairwise occurrences of
nodes over vbucket map chains, we do it for the entire vbucket map and
not only for the chains that have the same master node as it used to be.

Change-Id: I9fa03c5c7e0b630f5d45e6f26d44be2eff78e4e9
Reviewed-on: http://review.couchbase.org/32625
Reviewed-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>