Don't crash after displaying a connection error popup

Error popups are modal dialogs running a nested event loop, which means
that events will continue to be processed while the popup is showing.
In this particular case, the socket would close, and the authhandler calling
the popup synchronously would be deleted, leading to a segfault when closing
the popup.

Making this a queued connection prevents this from happening, as control is
not going to be returned to the deleted authhandler that way.
Add disconnection reasons

This will display the reason for disconnection from the core in case of
an incompatible protocol version or missing SSL in the status bar.