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
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
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
Merge pull request #2335 from halfdan/bower-maeh

Remove unused libraries.