Fix user settings page for Firefox

References #4050

- Restructures the CSS to work in Firefox - No visual changes, only fixes
Updating express to 4.9.2 & related packages

ref #3795

- express updated to 4.9.2
- express 4.9.0 introduced res.sendStatus() to replace res.status().end()
- we no longer need express-session, connect or cookie-parser
- body-parser, busboy, compression, express-hbs, morgan, all bumped to
  latest versions as well - there doesn't seem to be any breaking changes
Let Ghost serve favicon instead of using dependency

no ref
- Remove static-favicon dependency
- Refactor robots.txt middleware to also serve favicon
- Add ETag
Cleanup reserved words in generateSlug

closes #1889
- Adds a new filter for slugs
- Move slugs to config.slugs
Properly handle no posts

fixes #4058
- Set noPosts in setupController
Merge pull request #4061 from ErisDS/issue-3795

Updating express to 4.9.2 & related packages
Merge pull request #3992 from halfdan/favicon

Let Ghost serve favicon instead of using dependency
Merge pull request #4060 from halfdan/4058-no-posts

Properly handle no posts
Merge pull request #4051 from PaulAdamDavis/fix-user-settings

Fix user settings page for Firefox
Merge pull request #3976 from halfdan/1889-generate-slug

Cleanup reserved words in generateSlug
Redirect user if signup invitation isn't valid

Closes #3565
- Added server API isInvitation (analog to isSetup), checking if an
invitation exists for a given email address.
- If the invitation is no longer valid (or didn’t exist in the first
place), the user is redirected and an error notification is shown.
Merge branch 'pr/3876'

* pr/3876:
  Redirect user if signup invitation isn't valid
Have /ghost use its own express instance

closes #1961
- Refactor admin to use its own express instance
- Refactor middlewares to work with /ghost mounted admin express instance