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
Use Device.js to determine mobile editor use

Ref #2570
- Adds new library, device.js to determine if the user is on an ios mobile
  or tablet.
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
Merge pull request #3154 from darvelo/validation-update

Better handling of validation errors + more documentation
Replace the old admin with the ember admin

closes #3056

- Remove clientold
- Remove clientold tests
- Cleanup old admin helpers
- Remove old routes from admin and controllers from admin controller
- Comment out / remove old and broken tests
- Cleanup Gruntfile.js, bower.js, package.json etc

Still TODO:

- cleanup / add removed tests
- do we still need countable?
Merge pull request #3157 from novaugust/device

Use Device.js to determine mobile editor use
Merge pull request #3165 from ErisDS/issue-3056

Replace the old admin with the ember admin
Redirect signin if authenticated

closes #3147
- added beforeModel redirect
- added test
Persistent notifications

closes #3057
- add Notification model
- update injected Notifications object to handle persistent notifications
- load server notifications on setup if logged in otherwise on successful sign-in
- changed all existing notifications.closeAll calls to closePassive
- fixed dismissable/dismissible spelling in server API & tests
- add notifications.closeNotification method so DELETE calls can be made for server-originating notifications