Use separate maps for group and normal chat, saving much confusion.
Use gloox sessions and MUC rooms as keys instead of strings.
Remove linear lookups in the map (what's the point of having a map?)
Do not create a MessageSession for MUCs as it prevents getting messages
in the MUC handler
This should fix all cases where we would accidentally create multiple
windows for the same thing.
- Remove "channels" menu and instead list group chats in the roster view
- Allow joining a group chat by double ckicking on it in the roster
- Support for bookmarks2 (XEP-0402). XEP-0048 is also implemented, but
currently disabled.
- Joining a group chat adds it to the bookmarks with autojoin enabled,
unless it is not an user initiated action (for example, someone else
invited you in a room)
- Leaving a groupchat adds it to the bootkmarks, with autojoin disabled
(so you can easily access the server-side history for it or join back)
- Bookmarks can be deleted by right click->remove in the Roster.
Fixes #32, #40