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