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.
Fix URL replacement in RSS feed mucking with content

closes #3983
- removed naive regex implementation
- added cheerio to project dependencies
- used cheerio to parse RSS content
- use attribute getter/setter to replace href/src attribute urls with the resolved version
Fix Markdown help modal table positioning

no ref
- Fix top spacing of markdown table
- Fix width of table and left align table head
- Fix grammar, whitespace in getting-started post
Fixes the first run messages

no issue

- Whilst testing the mail PR #3915 I noticed the first run messages aren't
  appearing because the dbHash is getting pre-populated, but there doesn't
  appear to be a reason why this is necessary
Merge pull request #4005 from ErisDS/dbhash-first-run

Fixes the first run messages
Merge pull request #4025 from mvalipour/master

URL replacement in RSS feed mucks with content
Merge pull request #3947 from hswolff/goodbye-config-theme

Removes config.theme and restructures how theme variables are cached
Fix lint error in tests
Abstract mobile transition interactions

Closes #4032
- Created "mobile" views: `parent-view`, `content-view` and `index-view`
- `mobile/parent-view` has three callbacks for managing layout, and a mediaQuery listener to keep in sync with the user
- content-view and index-view use their parent-views callbacks to bring themselves into and out of the viewport as appropriate
- fixed media queries for post content list from 800px to 900px
- Created `mobile-index-route` to intelligently transition to a new route on desktops (used by both PostsIndexRoute and SettingsIndexRoute)
- Extract mobile interactions from settings views to new mobile utility views
- `js-` prefixed settings view transitions
- removed unused openEditor action from PostsRoute
- removed unused mobile util "responsiveAction"
Merge pull request #4033 from halfdan/getting-typos

Fix Markdown help modal table positioning
Updates image upload directories to be number based.

resolves #2285

- Moves to using moment.format('MM') to use the date formatting of a month
Merge pull request #4044 from novaugust/issue4032

Abstract mobile transition interactions
Merge pull request #3894 from hswolff/image-path-update

Updates image upload directories to be number based.
PSM: Cover Images

closes #3885
Merge pull request #4041 from felixrieseberg/psm-coverimages

PSM: Cover Images
Updating dev dependencies

refs #3795

- updates all dev dependencies to their latest version number
- jshint now complains about the Promise global, removed it from predef in
  lieu of a better solution
- changes in should require minor updates to the tests
- tests are passing and all major grunt commands appear to work: clean,
  init, prod, validate and release
Merge pull request #4054 from ErisDS/dev-deps

Updating dev dependencies
Support --reporter and --reporter-output when running tests.

When running any Grunt task that runs tests with Mocha, the two
following command line options are now supported:
- --reporter: allows to specify a reporter, default is 'spec'.
- --reporter-output: allows to specify a file where Mocha's output will
  be stored.

These two command line options make it easier to retrieve and parse test
results when tests are run on a continuous integration platform like
Jenkins.

Fixes #4038.
Merge pull request #4039 from misterdjules/output-tests-results-to-files

Add option to specify reporter and output file via grunt.
Add jscs task to grunt file and clean up files to adhere to jscs rules.

resolves #1920

- updates all files to conform to style settings.