Add Gmail-style shortcuts

Ref #3940
- add `j`/`k` for navigating posts down / up
- `c` for opening a new post
-  `o` to open the selected post
- update keymaster dep to allow for multiple key unbinds (`key.unbind('up, j')`)
Fixed email copy grammatical errors
Fix flickering popover transitions

Closes #4138

- Removed JS animation to close in favour of CSS animations
Rename popovers to dropdowns
Remove sliding animation between content & list & post preview on mobile

Closes #3951
Make the PSM tabs transition only happen on larger screens
Change avatars in user list back to cover

Closes #4199

`background-size: 105%;` is a nono for square images. `background-size: cover;` is a better.
Merge pull request #4141 from PaulAdamDavis/fix-dropdown-flickering

Fix flickering dropdown animations
Merge pull request #4210 from JohnONolan/fix-copy

[WIP] Fixed email copy grammatical errors
Tag Management UI Markup

References #3926

Static markup for the Tag Management screen
Webkit overflow scroll touch
Prevent elastic scrolling on the whole page
Merge pull request #4073 from PaulAdamDavis/ux-improvs

UX Improvements
Merge pull request #4171 from PaulAdamDavis/tag-management

Tag Management UI Markup
Merge pull request #4193 from PaulAdamDavis/less-animations

Less Animations
Merge pull request #4218 from PaulAdamDavis/fix-4199

Change avatars in user list back to cover
Merge pull request #4086 from novaugust/gmail-shortcuts

Add Gmail-style shortcuts
Follow symlinks when resolving theme paths.

Closes #4225
- If a theme is symlinked in the themes directory, follow
  the symlink so that the theme object is populated correctly.
- Only do the fallback loading of theme data in the validations
  module if it doesn't exist in config.
Refactor settings and content wrappers to allow smooth overflows and properly show headers on mobile

Closes #4186, Closes #4190, Closes #4150

- Alters markup to allow for correct use of `-webkit-overflow-scrolling: touch;`
- Updates the debug page to use the same markup as the rest of the settings page
- Solve floating tag bar issue by making it absolute, not fixed
Reset password signs the user in

Closes #4196
- Clear confidential info on leaving reset route
- Remove nested password access, because gross
- Also cleaned up some .then(f, h) to .then(f).catch(h) in setup controller