Update page IDs in revision JSON when copying

Fixes #837

When copying a page, all of its revisions are also copied. The revisions
are JSON encoded and include ID fields which point back to the original
page object. These IDs weren't being updated when the revision was
copied to a new page causing the editor to break when that new page is
edited.
Create new revision when copying pages

This serves two purposes:
 * It makes sure update_attrs gets applied to the latest revision so the
   changes are reflected in the editor
 * It bumps the last_revision_created_at value so the new page gets
   ordered as if it was just created
Added user attribute to Page.copy

This is used for setting the owner of the new pages and the user for the
new revision that gets created
Order by created_at when getting first revision
Changed test to use eventmoderator user
Merge branch 'issue/837' of https://github.com/kaedroho/wagtail into kaedroho-issue/837
Merge branch 'kaedroho-issue/837'
Merge branch 'master' of github.com:torchbox/wagtail
Release notes for #842
Add failing test for race condition in Filter.get_or_create
Add unique constraint to filter spec so that Filter.get_or_create avoids race condition as intended - fixes #312
accommodate custom user models in migration
use Python3 compatible syntax for 'except'
Specify TEST_NAME in test settings to make concurrency tests work on sqlite.

Django 1.6 checks for this setting and defaults to None, which creates an in-memory database
when using sqlite. This causes our race condition test in wagtailimages to fail, since it's
not possible for multiple threads to share the same in-memory database.
TEST_NAME must differ from database name
Release note for #844
Spacing consistency in CHANGELOG.txt
Document the necessary fix to custom image migrations - fixes #832
Bump version to 0.9.dev0
Update 0.8.4.rst