Add the new body classes

closes #1967

- adds paged to eventually replace archive-template
- adds page-template to eventually replace page
- changes custom page template class to be page-slug instead of
  page-template-slug
Makes the Ghost application more express middleware friendly.

refs #827

- Moves ./index to use Ghost in a similar manner to how someone uses
Ghost as an npm module.
- Allows Ghost to be cleanly mounted on another express application
on any arbitrary endpoint, all you need to customize is the mount path.
`grunt dev` calls default task

Closes #3942
Removes config.theme and restructures how theme variables are cached

resolves #1789

- removes config/theme.js
- moves caching of theme variables to api/settings.js which is where the
rest of the settings cache occurs.  this removes the requirement of having
to push changes to cache, now it simply occurs alongside when settings
are changed.
- updates relevant tests.
`js-` prefix; fix content preview back button

Closes #1990, Ref #3810
- Add `js-` prefix to jQuery calls throughout code and templates
- move MarkdownComponent classNames to template
- Fix back button on posts content preview
- Remove dead code for preview tabbing jQuery
Merge pull request #3946 from novaugust/grunt-dev-assets#3942

`grunt dev` runs default task
Smarter `buildAboutPage` task

No issue
- Only run the buildAboutPage task if the `-contributors.hbs` template doesn't exist,
- ... or if the `--force` option is supplied on the CLI
- Adds the contributors img dir and the contributors template to `grunt clean:built` task
Merge pull request #3949 from novaugust/js-prefixes

`js-` prefix codebase; fix content preview back button
Fix floaring header gradient in FF and settings images

No issue

- Corrects the syntax used for the floating header gradient so it now gets prefixed correctly for Firefox
- Removes padding from `<button>` elements (fixes padding around images in buttons)
- Adds display: block; to settings images to prevent a Webkit bug which adds space under the image
Merge pull request #3852 from ErisDS/issue-1967

Add the new body classes
Show settings-cog and back button

closes #3925
- Make user-settings-cog reappear
- Show [< Users] back button
Merge pull request #3944 from halfdan/3925-cog-back

Show settings-cog and back button
Merge pull request #3945 from novaugust/smart-contributors

Smarter `buildAboutPage` task
Apply JSHint to test files.

closes #2666
- Add new jshint:test task
- Fix jshint errors
Merge pull request #3953 from halfdan/2666-jshint-test

Apply JSHint to test files.
Merge pull request #3952 from PaulAdamDavis/fix-what-libsass-broke

Fix floating header gradient in FF and settings images
Don't send HTML on post save.

fixes #3956
- adjusts post serialiser to not send HTML content
Prevent editor title from being overwritten

Closes #3955
- Change titleScratch from being bound to the title to being
  set when entering the editor so it is not overwritten on a
  model refresh.
- Ensure that the "unsaved content" dialog is shown when there are
  changes to the "scratch" fields after a post-settings-menu change.
- Add tests to prevent regression.
Merge pull request #3957 from halfdan/3956-we-dont-like-html

Don't send HTML on post save.
Stop packagePath variable from being undefined