Add logging config option

closes #2103
- Deactivate logging for testing environments
- Override logging with settings from config
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
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
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
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
Un-break Markdown syntax

Remove a superfluous "*" in the README
Merge pull request #2219 from kennym/patch-1

Un-break Markdown syntax
Improvements for models

#closes #1655
- removed models as parameter for bookshelf-session
- changed to read permittedAttributes from schema.js
- changed updateTags to be executed at saved event
- added validate to execute after saving event
- added test for published_at = null (see #2015)
- fixed typo in general.hbs
Merge pull request #2169 from sebgie/issue#1655

Improvements for models
Show parse error message during a failed import

adds support for outputting error message during a failed JSON.parse
This will help people identify the problem with their JSON source
and hopefully be able to aid them in resolving said issue.