JCBC-446: Better NMV handling

Motivation
----------
Once the NMVB collection (set) is full, we never reset it back
to a clean state. This means that once full, the primary node
will always be used, even if it returns NMVB itself multiple
times.

Also, because of the heuristics in place, a NMVB will not trigger
a config check for a new config. Since this is a clear pointer to
an outdated config, doing so will get it to a good confing quicker.

Modifications
-------------
If the collection is full, empty it out. This will make room for
subsequent attempts. Also, trigger a "checkConfigUpdate" if we need
to reschedule such an operation (thresholds in the CF still apply).

Also the code makes sure that the alternative node is active. This
needs to be in place because it could be that the node in the list
has been removed already, but is still hold as a reference in this
set.

Result
------
More robust handling of NMVB operations.

Change-Id: I89898017e2eea1f07a99b8a866d9a1b6e45bb825
Reviewed-on: http://review.couchbase.org/34885
Reviewed-by: Michael Nitschinger <michael.nitschinger@couchbase.com>
Tested-by: Michael Nitschinger <michael.nitschinger@couchbase.com>