Added -disconnectWithError: method

Allows the user to disconnect the socket due to an error condition and pass the
error to the delegate via socket:didDisconnectWithError: