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
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
Remove unneeded extend implementation.

refs #2179, #2156
- Replace extend with _.extend
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
Fix package.json scripts to be more in line with
expected behavior of npm packages

fixes #1053

- updates travis config to be more in line with
 current dev steps

- fix `grunt-cli` warning from appearing when
 running grunt
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.
Add validation from schema.js

closes #1401
- added data/validation/index.js
- added generic validation for length
- added generic validation for nullable
- added validations object to schema.js for custom validation
- removed pyramid of doom from api/db.js
Merge pull request #2218 from hswolff/npm-package-updates

Fix package.json scripts to be more in line with
Merge pull request #2205 from ErisDS/theme-debug

A first step towards theme debugging