Update Ember to latest stable (1.7.0).
Rework editor save button.

Refs #3834
- Change bindings and fix a forward reference.  Preparation for
  upgrade to Ember 1.7.0.
Change tests to accommodate pg differences.

Refs #2499
- Since PostgreSQL handles transactions differently than
  MySQL and SQLite3 there are differences in the way and
  number of errors that are returned.  Update tests to
  only check that at least one error of the proper type
  was returned.
Fix markdown/preview tab for mobile

Fixes #3813

- Add togglePreview action to controller
- Implement action and bind attributes
- Remove the now pointless
- Update to comply with issue suggestions
Merge pull request #3834 from rwjblue/update-ember-to-latest

Update Ember to latest stable (1.7.0).
Merge pull request #3836 from jaswilli/ember17-prep

Rework editor save button.
Merge pull request #3830 from wjake/issue-3813

Fix editor markdown tab
Merge pull request #3840 from jaswilli/pg-import-test

Change tests to accommodate pg differences.
Extract starting functionality into an exported class

closes #3789
- Create a GhostServer class to manage state
- index.js now calls start on the exported server
- Alter tests to expect a GhostServer instance
Removing hard-coded port number

closes #1391
Merge pull request #3851 from ErisDS/issue-1391

Removing hard-coded port number
Merge pull request #3815 from JoshWillik/extract-init

Extract the starting functionality into an exported class.
Update editor markdown tests

closes #1299

- update tests to check for full strings with spaces now that this is no
  longer an issue
- reorganise duplicated test for images
Added correct contextual Meta Titles and Descriptions

closes #2462

- adds conditionals for pagination for index, tags and author pages
- outputs correct meta title and description according to context
- adds further unit testing
Redirect uppercase routes to lowercase version

fixes #3857

- adds uncapitalise middleware which detects uppercase in req.path and
  redirects to the lowercase equivalent
- change the ghost route to a regex, just so it's consistent with other
  routes in the file
Replace the when promise library with bluebird.

Closes #968
Merge pull request #3826 from jaswilli/bluebird

Replace when with bluebird
Fix mobile settings menu transitions with new GUI

Ref #3810
Delete tokens before deleting a user

fixes #3750

- Updated tests to create tokens for one user. This caused the tests to
  fail for MySQL exposing the bug.
- Delete user's tokens along with posts
Adjust setup and teardown of route tests.

Closes #3856
- No longer call clearData and initData in test setup because
  migration.init is run during Ghost startup.  The unhandled
  error was a result of clearData removing all the tables while
  Ghost was running--there was a timing issue with the oauth middleware
  checking the refreshtokens table when it had just been deleted.