changes Challenge.Accepted to pass just game instead of { game: game }
checks isInProgress in User _hasGamesInProgress
removes unnecessary user replacement logic from user.Connected handler

only the LoggedIn and LoggedOut handlers are necessary for dealing with
replacement.  if the user disconnects, and then another session logs in,
the disconnected user will be replaced so it won't be logged in when it
reconnects.  if they disconnect and then reconnect, and no-one has
replaced them in between, then nothing needs to happen.
changes User.Replaced to pass just newUser instead of { newUser: newUser }