MB-6042: avoid retries and excessive work in vbucket_map_mirror
MB-6042: avoid retries and excessive work in vbucket_map_mirror

When lots of clients spot lack of cached nodes->vbuckets dictionary
they will all call into vbucket_map_mirror worker. Previous version
would recompute map for each such call. Clearly, not perfect approach,
given that worker has full access to up-to-date cached version.

So new code is just reusing already cached version if it's there at
the time worker call is processed. This changes top-level logic a bit,
as call_compute_map now returns dict. So there's no need to retry.

As a side effect we're now correctly handling a case when bucket
disappeared right before call into node_vbuckets_dict which is I think
what actually happened in MB-6042.

Change-Id: I151791a3898995b3096bba2d55fe0205945629d4
Reviewed-on: http://review.couchbase.org/19618
Tested-by: Aliaksey Kandratsenka <340b8e09ca65cd3fc686427fcfed17e87eaf61e2@gmail.com>
Reviewed-by: Aliaksey Artamonau <3c875bcfb3adf2a65b2ae7686ca921e6c9433147@gmail.com>

daverigby/ns_server,nimishzynga/ns_server,mschoch/ns_server,mschoch/ns_server,membase/ns_server,pavel-blagodov/ns_server,mschoch/ns_server,ceejatec/ns_server,ceejatec/ns_server,daverigby/ns_server,mschoch/ns_server,ceejatec/ns_server,ceejatec/ns_server,nimishzynga/ns_server,membase/ns_server,t3rm1n4l/ns_server,vzasade/ns_server,t3rm1n4l/ns_server,membase/ns_server,mschoch/ns_server,daverigby/ns_server,ceejatec/ns_server,ceejatec/ns_server,vzasade/ns_server,pavel-blagodov/ns_server,nimishzynga/ns_server,membase/ns_server,nimishzynga/ns_server,membase/ns_server,t3rm1n4l/ns_server,vzasade/ns_server,membase/ns_server,pavel-blagodov/ns_server,daverigby/ns_server,pavel-blagodov/ns_server,vzasade/ns_server,daverigby/ns_server,mschoch/ns_server,nimishzynga/ns_server,t3rm1n4l/ns_server,nimishzynga/ns_server,t3rm1n4l/ns_server