Shorter user slugs (if possible)

Closes #4211
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
Merge pull request #4244 from javorszky/iss4243

Added anonymous iife decl space rule to jscsrc
Merge pull request #4255 from IanMitchell/navbar-title-change

Updated admin navbar blog link title
Custom showdown extensions should be linted

ref #4243

- Removing /lib/ from the list of things which aren't linted, as this is
  all custom code
- Fixing up the two files to pass linting, erring on the side of caution
  with disabling regexp rules vs fixing regexes!
Use flexbox for post settings cog & publish button

Closes #4208

- Removes `min-width` & `max-width` from `.publish-bar-actions`
- Uses flexbox to correctly handle dynamic size (due to font size and text content of button)
Abstracting away the deprecatedItems

Closes #4189

* moved `deprecatedItems` from within the function to the default config object
* addes tests
Merge pull request #4257 from ErisDS/codestyle

Custom showdown extensions should be linted
Merge pull request #4268 from PaulAdamDavis/fix-4208

Use flexbox for post settings cog & publish button
Accept Invitation: Generate Slug from Name

No issue, but ref #4211
Merge pull request #4271 from felixrieseberg/iss4211-emailslug

Accept Invitation: Generate Slug from Name
Merge pull request #4269 from javorszky/iss4189

Abstracting away the deprecatedItems
Ignore Sublime Text project files