Create one single GAction to join rooms

The proper way to handle multi menu items having the same semantic is to have
one single GAction associated with different GMenuItem having specific
parameters instead of having one action per menu item.

Fix bgo#707885 as we no longer have spaces in GMenuItem action names.
menu_removed_cb: call g_menu_model_get_n_items() once

No need to call it during each iteration.

https://bugzilla.gnome.org/show_bug.cgi?id=707885
menu_removed_cb: fix 'name' leak

https://bugzilla.gnome.org/show_bug.cgi?id=707885
use (room-name, account-path) as primary key when removing GMenuItem

https://bugzilla.gnome.org/show_bug.cgi?id=707885