Added multiple backend support into update_index command. Fixes #552
Refactored create and edit views to use revision.publish()

This cuts out lots of duplicated code
Added unpublish method to Page
Make sure pages are unpublished before delete

Fixes #570

Conflicts:
	wagtail/wagtailcore/models.py
Moved approve/reject moderation logic into PageRevision
Don't save when unpublishing page before deleting it
Merge remote-tracking branch 'torchbox/master' into searchchanges/updateindex-multi-backend
Added opton to update_index to allow user to select which backend to update
Docs for update_index --backend option
Moved image tag documentation to images section
Restructed search docs
Merge branch 'page-publish-refactor' of https://github.com/kaedroho/wagtail into kaedroho-page-publish-refactor

Conflicts:
	wagtail/wagtailcore/models.py
add failing unit test for has_unpublished_changes flag after approving moderation
Merge branch 'master' into kaedroho-page-publish-refactor
Add failing test for has_unpublished_changes not being reset when publishing from the edit page
add test for has_unpublished_changes being set when a page is scheduled for future publishing
add failing tests for has_unpublished_changes on copy page actions
add failing tests for has_published_changes flag on go-live / expiry
Set has_unpublished_changes correctly on publish
Set has_unpublished_changes=True on unpublish