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')`)
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
Merge pull request #4230 from novaugust/reset-signs-in

Reset password signs the user in
Merge pull request #4187 from PaulAdamDavis/settings-fixes

Refactor settings & content wrappers
Merge pull request #4226 from jaswilli/issue-4225

Follow symlinks when resolving theme paths.
Moving nanoscroller to be managed by bower
Merge pull request #4237 from ErisDS/nanoscroller

Moving nanoscroller to be managed by bower
Clean up hardcoded ghost paths

closes #4144
- made contributors template use the `gh-path` helper
- Removing blogRoot from application.js
- made error image use the `gh-path` helper
Merge pull request #4163 from mattiascibien/issue-4144

Clean up hardcoded ghost paths
Added anonymous ifee function decl space rule to jscsrc

Closes #4243
Refactor auth form styles

Closes #4246

- Removed the input wrapper background colour
- Moved `:focus` styles to one element, so its not defined separate for each page
- Removed unnecessary MQ for body background colour (it changed nothing)
Added open graph tags for ghost head helper

issue #3900
- uses isPrivacyDisabled helper to see if useStructuredData has been disabled in config.js
- adds an array of promises to deal with asynchronous data
- resolves asynchronous data then adds open graph tags after canonical link
- featured image and tags are only added if present
- open graph tags only added on post and page
- adds unit test to check correct data is returned
- updates other unit tests to reflect changes
Updated blog link title

The admin navbar title used to just be `/`. It now reads `Visit blog`,
in accordance with the nav label.
Merge pull request #4249 from PaulAdamDavis/fix-signin-styles

Refactor auth form styles
Change keyboard shortcut context

closes #4247
- added scope to every shortcut, the scope of shortcut is default to
  'default'
- add shortcut `enter` to modal which confirm the modal
- shortcut `enter` and `esc` now have scope 'modal'
- when lunch a modal, scope is switching to 'modal', and set back to
  'default' when close
- shortcut `enter` now confirm the dialog without conflicting with route
  shortcuts
Merge pull request #4265 from RaoHai/issue-4247

Change keyboard shortcut context
Merge pull request #4242 from cobbspur/meta

Adds Open Graph tags to ghost_head