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
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