Improve handling of users and roles in admin

Closes #3083 Refs #3229
* Populates the dropdown list in the invite user menu with the
  list of roles a user is permitted to create.
* Users API now checks the invite user request for allowed roles.
* Change API response from 200 to 201 on successful invitation.
* Change API response from 500 to 201 when the user was created but
  the email was not sent.  The client will show a warning notification
  when it sees 'invited-pending' as the new user's status.
* Add support for "?status=all" to the /users endpoint.
* Refactor the route and controller for the /settings/users page so
  that there's only one network API call to load users instead of two.