Properly remove email notification on signout.

no ref
- Calls notifications.clear() on signout
Disable user settings autocomplete in Chrome

Closes #3271

- Adds 2 hidden inputs at the top start of the form that trick chrome into filling those, leaving out the rest.
Disable autocomplete for setup & signup screens

No issue

- Adds 2 hidden inputs at the top start of the form that trick chrome into filling those, leaving out the rest.
Stop validation error notification stack

closes #3383
- Calls closePassive() if a new validation error is thrown to display
only the latest validation error
Transfer ownership end point

closes #3426
- added transfer ownership endpoint
- added owner to roles.permissible
- manually removed owner from roles.browse
- removed hard coded author role
- fixed tests that were passing due to hard coded author role
- added testUtils.setup(‚roles‘)
Users API advanced browsing

closes #3085
- active and invited include multiple statuses when fetching
- adjusted data generator
Perform a hard refresh upon signout.

Closes #3458.
Fix unhandled exception

no ref
- return result of mail.send
Merge pull request #3449 from felixrieseberg/iss3383

Stop validation error notification stack
Merge pull request #3453 from PaulAdamDavis/3271-prevent-website-autofill

Disable user settings autocomplete in Chrome
Merge pull request #3454 from halfdan/signout-email

Properly remove email notification on signout.
Merge pull request #3456 from PaulAdamDavis/prevent-auth-autocomplete

Disable autocomplete for setup & signup screens
Merge pull request #3457 from sebgie/issue#3426

Transfer ownership end point
Merge pull request #3463 from rwjblue/hard-refresh

Perform a hard refresh upon signout.
Merge pull request #3461 from halfdan/unhandled-rejection

Fix unhandled exception
Redirect to error404 when user not found.

Closes #3459.
Merge pull request #3443 from halfdan/30850-users-api

Users API advanced browsing
Merge pull request #3465 from rwjblue/handle-missing-user

Redirect to error404 when user not found.
Update validation to match server error.

When a using the forgottenRoute if you enter an incorrectly formatted
email address you would see the error message 'Invalid Email', however
if you entered an email address that was correctly formatted but missing
the error message would be 'Invalid email address'.

This fixes the discrepancy.
Add 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.

 ### Users Settings
- InviteNewUserModal now uses GhostRolesSelector & defaults to Author
- The role dropdown for user settings has permissions set per 3402

 ### User Model
- Added `role` property as an interface to getting and setting `roles`
- Refactored anything that set `roles` to set `role`
- isAdmin, isAuthor, isOwner and isEditor are all keyed off of `role` now

 ### Tests
- Added functional tests for Settings.Users
- updated settings.users and settings.users.user screens
- fix spacing on screens

 ### Server Fixtures
- Fixed owner fixture's roles