Increase efficiency for connection pools

This commit attempts to be a bit more judicious about how sockets are
released back to the pool. This is important in rebalance scenarios
where the configuration changes frequently and server structures are
created and destroyed.

The notable changes are:

- Don't use apply_want for READ_EVENT if we have nothing to read
- Fix up some bugs in the CCCP provider which cause it to stall, release
  a bad socket, or not acquire a proper socket
- Fix up bugs in server_io.c where it would release a timed-out socket

Change-Id: Ifa3353ae05f34175680ef2ae2db7df6666dd917d
Reviewed-on: http://review.couchbase.org/33113
Reviewed-by: Brett Lawson <brett19@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>