Redirect from admin editor to frontend post view

closes #2628
- added /view/ route to the editor. if /view/ is appended to
  the url of a post being edited a redirect to the frontend
  will occur
- updated controller to check for /view/ and built the
  correct url for the post
- added test for the new route
Settings API Primary Document refactor

Closes #2606

- Refactor settings api responses to { settings: [ ] } format
- Update all code using api.settings to handle new response format
- Update test stubs to return new format
- Update client site settings model to parse new format into one object of key/value pairs
- Refactor to include all setting values
- Remove unused settingsCollection method
- Update settingsCache to store all attributes
- Update settingsResult to send all attributes
- Remove unnecessary when() wraps
- Reject if editing a setting that doesn't exist
- Reject earlier if setting key is empty
- Update tests with new error messages
- Use setting.add instead of edit that was incorrectly adding
- Update importer to properly import activePlugins and installedPlugins
- Update expected setting result fields
- Fix a weird situation where hasOwnProperty didn't exist :shrug:
Add functional test for markdown help modal in editor

closes #2273
Merge pull request #2678 from jaswilli/issue-2273

Add functional test for markdown help modal in editor
Merge pull request #2670 from jaswilli/issue-2628

Redirect from admin editor to frontend post view
Merge pull request #2661 from jgable/settingsPrimaryDocument

Settings API Primary Document refactor
Move user API to primary document format

closes #2593

- added new format to user API methods
- changed all places where the user api was used
- updated tests and added more coverage
- little bit of cleanup in utils/api
Merge pull request #2682 from ErisDS/issue-2593

Move user API to primary document format
Adding docker for trying out docs generation

issue #2622

- yes 'docks' is a silly directory name but it's easier to remember which is which than docs and docs2
Gruntfile Cleanup & Documentation

refs #2622, refs #1340

- added documentation to grunt tasks which will replace the wiki page, including reordering the tasks to make the documentation easier to read
- removed grunt changelog which is no longer used
- merged jshint:shared into jshint:server
- cleanup of quote marks, formatting, line lengths etc
- also fixed the incorrect version number for grunt-docker
- added route tests to coverage
Return new tags when posts are created via API

closes #2680
- added include options when adding a post
- added functional and integrational tests
Merge pull request #2683 from lennerd/issue-2680

Return new tags when posts are created via API
Adjust update check to handle changes in API calls

closes #2681
- fixed api calls and response parsing
- added a test to for update check
- adjusted gruntfile.js to run new update check integration test
Merge pull request #2685 from jaswilli/issue-2681

Adjust update check to handle changes in API calls
Add location header to response when new object is created

closes #2635
- add new logic to the api request handler to set a location header
  when new objects are created
- added an api context to config.urlFor() to return the root url
- added functional tests for the affected routes