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
Custom Page Templates

fixes #1969

- creates new ./server/helpers/tempalte.js method
 which returns the correct view to use when rendering

- updates fronted controller to check if a custom page template
 exists and if so then uses that to render the static page

- adds additional class name to body_class helper when
 a custom page template is being rendered

- adds tests to address all new features
Fixes client side bio character counter.

closes #1432
Fixing config unit test for Windows
Cleaning up unused blocks
Change fallback from address to webmaster@[blog.url]

This change is needed because the previous default of the user's email
address is too often mismatched against the site domain, triggering spam filters.

Fixes #2145
- added `fromAddress()` to GhostMailer to handle this logic
- added unit tests to `mail_spec.js`
Renamed client-side admin url helper

fixes #2254

- includes test
/ghost/reset/* should not redirect to signin

fixes #2257
Cleanup naming & order in admin controller

no issue

 There seemed to be no convention or order to the functions in the admin controller, so I have:
 - organised them
 - reordered them
 - added a small doc-block
 - reordered some routes
 - updated tests accordingly
Fix problems from importing 0.4.0 file

fixes #2244
- added mysql ‚true’/‚false‘ values as ‚0‘/‚1‘
- removed all core settings from import
ReadMe Improvements

SEMANTICS ALL UP IN THIS WHAT
Merge pull request #2258 from ErisDS/admin-ctrl-cleanup

Cleanup naming & order in admin controller
Implements the #has Block helper

closes #2115
- Added new #has block helper
- Added several tests for #has helper
Merge pull request #2153 from halfdan/2115-has-block-helper
Remove res.redirect from db.exportContent

closes #1654
- added frontend route /ghost/export/
- removed request handling from API
Merge pull request #2252 from jondavidjohn/from-address-default

Change fallback from address to webmaster@[blog.url]
Merge pull request #2246 from knunery/issue#1432

Fixes client side bio character counter.
Add support for typographically-correct punctuation

Closes #1795
- Added typography.js Showdown extension
- Updated RSS test to support new typographic quotes
Merge pull request #2256 from caerphoto/1795-typography

Add support for typographically-correct punctuation
Implements Initial lifecycle and App UI start

Closes #2083

* Added hbs template for apps listing
* Added settings to read the activeApps
* Added viewcontrol to activate / deactivate apps
* Added API handler to store activeApps (by `name` in the `package.json` file)
* On button click it turns the button into "Working" and changes class to `button` (grey one)
* On success, rerenders the pane, adds success notification about apps being saved
* On error, rerenders the pane, adds error notification with error message

Missing:
* tests: couldn't figure out how to add mock apps with mock package.json data
* actually registering, etc, re #2140
* icon from the sidebar