Recovery should not be stopped by an IOException

Some proxies (e.g. HAProxy) cause java to throw an IOException instead of a ConnectException. Previously this would cause the connection to never recover.