Update HadExceptions if socket not connected

When ConnectTimeout != 0, it does not throw the exception, and
HadExceptions it is not updated. Due to that, the connection is not
disposed and the pool can not recover after a server crash

v3 commit of #184