Refactor require-tree to not share messages

- Pass in messages to each method so they are not shared
- Export each method for calling individually
- Update reference to default export of require-tree
- Add default values for messages if not passed in
Prevent settings page from rendering same page twice

Closes #2316
- There was a check to prevent rerendering of same content pane but it wasn't working
- Fixed the check for this
Shifts app UI behind config option

Closes #2287
- adds helper for checking whether to show apps UI or not
- hides app UI from settings page
Detect tag.hbs template in themes

closes #2320
- changed detection from "tag" to "tag.hbs" in "frontend.js" contrroller
Use tag as title on tag pages

closes #2328
- added check for tag in coreHelpers.meta_title and use if set
- added test for correct title on tag pages

Rewritting to tag - blogtitle based on comments from PR
Merge pull request #2329 from stenehall/master

Fix for #2328 - Added check for tag for title
Merge pull request #2317 from shashankmehta/settings-rendering-issue

Prevent settings page from rendering same page twice
Merge pull request #2292 from jgable/requireTree

Refactor require-tree to not share messages and export parsePackageJson
Add test for tag.hbs template.

refs #2321
Replace JSLint with JSHint.

closes #2277
- Added ES6 linting to core/client/
- Fix typeof array comparison
Merge pull request #2278 from halfdan/jshint-es6

Replace JSLint with JSHint.
Switch to bower for client assets.

fixes #2272
- Remove libraries from shared/vendor
- Remove libraries from client/assets/vendor
- Add bower to package.json and postinstall
- Add bower.json with dependencies
- Add scripts from bower_components to concat/uglify
- Fix tests
- Serve jquery from /ghost/built/theme/
Merge pull request #2326 from halfdan/bower

Switch to bower for client assets.
Merge pull request #2294 from shashankmehta/apps-config

Shifts app UI behind config option
jsHint fixes

issue #2294

- bad merge order = broken tests
Update validator to 3.4.0

Closes #1379

- Convert to new api usage for both server-side and client-side
- Provide way require a negative response for boolean methods in
  default-settings.json
- Add field validation functional tests
  - Settings (General)
    - Title length validation
    - Description length validation
    - postsPerPage, numeric, min, max
  - Settings (User)
    - Bio Length validation
    - Location length validation
    - Url validation
  - Login
    - Email validation
  - Editor
    - Title required validation
Merge pull request #2286 from jondavidjohn/validator-upgrade

Update validator to 3.4.0
Change validation for posts 'page' attribute.

issue #2305
- changed validation for 'page' to expect '0' or '1', rather than 'true' or
  'false'
- Added a 'can change a post to static page' test
- Added a 'can change a static page to a post' test
Merge pull request #1 from halfdan/add-test-tag

Add test for tag.hbs template.
Remove unused libraries.

refs #2326
- Remove unused libraries from core/client/assets/vendor/
- Add folder to .gitignore
- bower install is now handled by grunt init