Fixed unhandled exception in IrcConnection.SocketLoop

- Exceptions thrown by the TcpClient constructor would not be caught because they were on a separate thread. They are now caught and re-thrown on the main socket loop thread, allowing them to be handled as normal.