fix to intermittent crashes on server disconnects when the server is configured to use a proxy

connection when proxies are used.

Proxies use AsyncSocket's closeWithError: message to perform a socket close.
There are scenarios where the NSError parameter is nil and is passed to the 
delegate's willDisconnectWithError: message. IRCConnectionSocket will then
cleanup the socket by destroying its memory and the delegate's and setting
both references to nil, which isn't correct since AsyncSocket's closeWithError:
message calls close on the socket after the willDisconnectWithError: message.