Implement joinRoom() and leaveRoom(), which modify user data in MongoDB and join/leave socket.io rooms as they are bound to each client's socket object
Set up separate message lists for different rooms on client side
Fix [users] to become {users}, with displayName as key and user object as value
Change RoomMessageList constructor to be an object factory; implement some quick solutions to make rooms work; git lg1 needs some reworking git lg1
Fix janky code for mutual exclusion between rooms on client side (which can write to the view?)
Send clients only relevant data (no message for other rooms)
Fix some comments; alert if a user tries to enter a room they are not a member of
Merge branch 'rooms'

Now that rooms have been created to a good extent, master should have
rooms so that we can work on notifications and "user typing" within
specific rooms and not worry about changing notifications and typing
alerts later to work with rooms.