User settings

This is a pull request for issues #455 and #456.

This could also be written as:

```
return usernameFormMessages.setError error if error
resetUsernameForm()
usernameFormMessages.setInfoMessage "Username set successfully"
```