change db structure for messaging

instead of storing messages all together in firebase, messages are
stored with the room they will appear in
fix room members display

room members display only shows members who are present in current room
add room creation

add room creation ability and prevention of duplicate member entries on
room switch
fix duplicate members

members will be properly removed from db on room switch, tab switch, and
on disconnect
add room hiding

* rooms can be hidden from view and will reappear in room list only if
manually "recreated" with the provided input box or if a new message
appears in them that is newer than the time of hiding
* deprecated code commented out for later deletion (after
reimplementation of private rooms)
Merge public rooms, integrate to Plone.