SPY-171: More robust shutdown handling characteristics.

Motivation
----------
It has been reported several times that the IO thread kept lingering
around even after a shutdown() call.

Modifications
-------------
Since its run() method is kept alive by the "running" variable, the
code now makes sure to always set it to false, even if an exception
occurs during the connection shutdown process.

Also, a slightly misleading IOException has been removed in favor of
just silently moving on if shutdown is in progress.

Result
------
More stable and predictable shutdown behavior.

Change-Id: I99f3effbbb20a78a2705ee7f3f839e9753fb2a4a
Reviewed-on: http://review.couchbase.org/37724
Reviewed-by: Michael Nitschinger <michael.nitschinger@couchbase.com>
Tested-by: Michael Nitschinger <michael.nitschinger@couchbase.com>