cbdatasource - separate stopCh to handle closing better
cbdatasource - separate stopCh to handle closing better

When the application wants to Close() a cbdatasource, the previous
implementation would send a "CLOSE" message on the refreshClusterCh.
But, the problem is the refreshClusterCh might already be blocked up
with all sorts of regular messages.

This fix introduces an additional stopCh, which is dedicated for
close/shutdown processing.

Change-Id: I9c68d796974fd04a8193b499203b1f229b5bac2b
Reviewed-on: http://review.couchbase.org/57431
Reviewed-by: Manik Taneja <ab0e3979665ad7ee15da870324c623916e4596d3@couchbase.com>
Tested-by: Steve Yen <ef850f73f7832052d3c6d9b5ddd3a1716d9a57f1@gmail.com>

couchbase/go-couchbase