CCBC-386: Unify server error handling paths

This fixes an issue where the underlying socket would never be closed if
we received a socket error; rather a new socket would be created on top
of it.

This patch replaces the simple 'closed' flag in the mc_SERVER structure
which one that may contain one of several states which relate to
properly "draining" the socket of remaining requests.

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