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')`)
Abstract the allowed file types out of API

closes #1891
- Moves contentType and extension check to config
Fixed email copy grammatical errors
Merge pull request #4188 from halfdan/1891-move

Abstract the allowed file types out of API
Implements module tests

closes #2521
- Add new module tests
- Implements new `test-module` task to specifically run module tests
Merge pull request #4203 from halfdan/2521-module-test

Implements Ghost module tests
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