Fix tag updating on model save in editor controller

closes #3131
- create a hook in the editor controller that fires on a model's save events
- use this hook to perform all the things that need to happen on save, regardless of where the save originated
- remove logic from instances of model.save() that now belongs in the modelSaved hook
- detach the model event listeners on willTransition in the editor routes
New posts pass PostsController sorting function at the top

- PostsController orderBy function sorts posts with isNew to the top, otherwise their undefined dates fail to compare
- also catch when `updated_at` is undefined, happens when model is being written with results from the server
- catch objects of type Error in validation engine, helps catching client errors
- join server errors with BR tag in ajax util
- add `emberBuild` task to `grunt test-functional`
- add a test helper, `thenTransitionAndWaitForScreenLoad`, to test transitioning to major parts of the app
- add a test that transitions from Content to the Editor, and back to Content
About page HTML

No issue

This is the non-functional, non-Ember markup for the [About page](https://github.com/TryGhost/Ghost-UI/issues/23) from Ghost-UI
oAuth

closes #2759
closes #3027

- added oauth2orize library for server side oAuth handling
- added ember-simple-auth library for admin oAuth handling
- added tables for client, accesstoken and refreshtoken
- implemented RFC6749 4.3 Ressouce Owner Password Credentials Grant
- updated api tests with oAuth
- removed session, authentication is now token based

Known issues:
- Restore spam prevention #3128
- Signin after Signup #3125
- Signin validation #3125

**Attention**
- oldClient doesn't work with this PR anymore, session authentication
was
removed
Merge pull request #3060 from sebgie/issue#2759

oAuth
Signin after Signup

closes #3125
- added manual authentication after signin
- added manual authentication after setup
Made ember version of reset password work

Closes #2843

* Implemnted the ember validator correctly for both reset request and actual reset (with the token)
* added reset validator
* changed the request route addresses to be `/authentication/passwordreset`
* changed the format of data to be `{ thing: [ {data } ] }`

Missing:
* notifications
* tests for these use cases
Merge pull request #3140 from sebgie/issue#3125

Signin after Signup
Merge pull request #3155 from PaulAdamDavis/about-page

About page HTML
Merge pull request #3150 from javorszky/iss2843

Made ember version of reset password work
Merge pull request #3144 from darvelo/sort-new-posts

New posts pass PostsController sorting function at the top
Merge pull request #3146 from darvelo/tags-tracking

Fix tag updating on model save in editor controller
Better handling of validation errors + more documentation

closes #3153
- this is all about the validation engine
- add a option, `opts.model`, to use a passed-in model directly if needed
- handle validators that return an array of strings, array of objects, or both
- ajax util returns either an array of errors or a single concat'd string
- remove formatErrors function from the mixin and make it private
- allow validation options to be passed into `.save()` since ember-data doesn't take params on `.save()` anyway
- streamline control flow