Allow user renames via UserList without requiring a reconnect.

This commit also adds a check to Murmur's UserState handler that
discards UserState messages that come from users. Only Murmur
can send UserStates with a name.

The client-facing way of renaming is through the UserList. When
a user is renamed, Murmur will broadcast a UserState with the
given session and name to perform a live rename operation.