Broadcasts user joining room.
Event: "message <room.key>"
Data: { user: user, room: room, type: 'join' }
Updates client submodule