User role dropdown

Closes #3402, Closes #3428

------------------


### Components
- Added GhostSelectComponent to handle async select creation (h/t @rwjblue)
- Added GhostRolesSelector (extends GhostSelect) for displaying user role options
- Created StoreInjector for surgically inserting the store into things that normally wouldn't have them.


### Settings.Users & Settings.Users.User
- InviteNewUserModal now uses GhostRolesSelector & defaults to Author


### User Model
- Added `role` property as an interface to getting and setting `roles`
- Refactored anything that set `roles` to set `role`
- isAdmin, isAuthor, and isEditor are all keyed off of `role` now


### Test
- Added functional tests for Settings.Users
- updated settings.users and settings.users.user screens
- fix spacing on screens

Built into model; redundant as SettingsUserController is an ObjectController