Engine-XMPP: wasn't able to close unsynced (not fully joined) mucs

in case of long delays this could easily happen
also, regression-danger due to nonexisting chat windows that the server might send messages for
Engine-XMPP: a server<->client race condition could cause a closed chat to be joined

now this kind of chat is automatically closed and an error message is displayed in the protocol chat
this required a refactoring of OnGroupChatPresenceError because that function expected a non-null XmppGroupChatModel
Frontend-GNOME-XMPP: there was no context menu entry to remove contacts from the roster
Merge pull request #160 from oli-obk/fix/remove_unsynced_groupchat
Merge pull request #172 from oli-obk/feature/ui_contact_remove