* Added displayUsername and username update functionality
* fix: move username assignment to safe place
moved the username assignment down a statement so that it doesn't cause exception
* fix: handle missing username or displayUsername
* refactor: remove redundant code
* fix(client,server): usernames should not be a http error code
* feat: reject invalid chars first
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>