Description
When the client probes for a server object to perform an operation, make sure that the server chosen matches the correct criterion for that operation; for example to do N1QL query, the server object must match that service.
Currently, we use a method that looks like this to select the server for CB buckets: public IServer GetServer(string key, out IVBucket vBucket). Memcached buckets has a slightly different signature: IServer GetServer(string key). We may want to add separate methods for selecting nodes, perhaps even splitting the nodes into separate lists by service type.