Stampeding herd

Add a new "joiningParticipants" state on sessions which tracks users who have pressed JOIN in an event's breakout session, but not yet been recognized as a connectedParticipant.  This should help reduce the "stampeding herd" effect when everyone clicks JOIN at once.

Note that we still have a potential race condition between when someone clicks JOIN and when the socket data is farmed out (on the order of a couple hundred milliseconds), though we're orders of magnitude better than without this.  Still, we might consider adding a guard to the session redirector which refuses to send you to the hangout (and perhaps suggests you join a different session) if the hangout is full.