Add logging config option

closes #2103
- Deactivate logging for testing environments
- Override logging with settings from config
Update to `npm install` command

fixes #1053

- npm install doesn't need a path to grunt, and fails on Windows if it has one
- submodule update is handled by grunt (albeit badly... but let's fix that!)
Merge pull request #2176 from ErisDS/issue-1053

Update to `npm install` command
Helper updates for Tag Pages

fixes #2112
refs #1833

- modified config.urlFor to handle tag pages

- modified {{#tags}} handlebars helper to autolink to
  tag pages. Additional autolink="false" parameter can
  be used to deactivate autolinking

- modified url handlebars helper to handle tags

- added isTag function to schema

- added unit test for additional urlFor functionality

- added unit test for {{#tags}} helper modifications

- added unit test for url handlebards helper
Update express-hbs to fix block helper issue.

fixes #2127
- Update express-hbs to 0.7.9
Added package.js support for themes (and plugins)

Closes #2081
* Amended require-tree to populate availableThemes and availablePlugins to use full file names (`basename.ext`) as keys instead of just basename. This way `image.jpg`, `image.png`, `image.gif` won't overwrite the `image` key.
* Amended require-tree to allow package.json file parsing to return the contents of the file as json on the `package.json` key.
* settings api populates theme data `package` if it exists. Otherwise it assigns `false` to it
* `general.hbs` (salute) was reworked to if there is the package key on the theme is not false, it will use the `name` and `version` keys of that. You can break it by not having a `name` or `version` in the package.json file.
* Added error and warning messages for package.json file parse errors and misses
Merge pull request #2155 from halfdan/2127-express-fix

Update express-hbs to fix block helper issue.
Make session expiry less arsey

closes #2171
- added authentication middleware
- removed authentication from routes
- moved authentication before CSRF validation
- moved caching rules before authentication
- changed/added test
A first step towards theme debugging

issue #2204
- allow handlebars log helper to output to console in dev mode
Merge pull request #2156 from javorszky/iss2081

Added package.js support for themes (and plugins)
Merge pull request #2173 from halfdan/2103-connect-logging

Add logging config option
Remove unneeded extend implementation.

refs #2179, #2156
- Replace extend with _.extend
Fix incorrect test name
Merge pull request #2210 from halfdan/use-lodash-extend

Remove unneeded extend implementation.
Fix input:focus border issues from #2088
Merge pull request #2215 from PaulAdamDavis/master

Fix input:focus border issues from #2088
Adds tag pages

fixes #2111

- modified Post model to support a tag query
  param that will filter the desired post collection
  to only include posts that contain the requested tag

- in the updated Post model it includes the Tag model
  under a nested object called 'aspects'

- added tests for updated Post model, updating
  test utils to add more posts_tags relations

- adds two new routes to frontend,
  one for initial tag page,
  another to page that tag page

- for tag pages the array of posts
  is exposed to the view similarly
  to the homepeage

- on the tag view page the information
  for the tag is also accessible
  for further theme usage

- the tag view page supports a hierarchy of
  views, it'll first attempt to use a tag.hbs
  file if it exists, otherwise fall back
  to the default index.hbs file

- modified pageUrl and pagination helper
  to have it be compatible with tag paging

- added unit tests for frontend controller

- added unit tests for handlebar helper modifications

- add functional tests for new tag routes
Merge pull request #2185 from hswolff/tag-pages

Adds tag pages
Merge pull request #2189 from halfdan/2112-tag-helpers

Helper updates for Tag Pages
Merge pull request #2190 from sebgie/issue#2171

Make session expiry less arsey