Only consider healthy nodes for random view URL

cbugg: close bug-907
refresh() the new bucket info from a random server

If the chosen random server fails, it tries the next one, and loops over
the nodes list until it tries all the nodes. This way, even if the
original node that the couchbase client connected to dies, everything
would keep working.

cbugg: close bug-910 bug-918
Fixed the "defer" statement in Do() retry loop.

Encapsulated the code block that does the defer call within an anonymous
function. This way defer statement works properly and returns every
connection after each retry.

cbugg: close bug-917
Take out the condition for nmv checks