Connection dialog fixes, join error fixes

The values in empty fields in the connect dialog make the user imply that the values there will be used as defaults, which wasn't the case for the Port field. For that reason I've added a default port in case the user doesn't fill it in.

Join errors weren't handled correctly, resulting in an open tab with … …
…no channel attached that may have caused some lockups/crashed. A new numeric command was added in mercury-lib for dealing with the situation of join errors caused by channels with keys or invite-only enabled.

This change potentially breaks compatibility with older versions of mercury-lib