Make SlugUniquenessValidator#valid? work

It needs to call valid? on the decorated document as well as checking
for slug uniqueness.
Use #save! when saving document editions

If the document fails to save for any reason we want the flow to stop so
that we don't end up registering non-existent documents with Panopticon.

The document is validated in advance of calling #save!, so if it fails
it should be for an exceptional reason.

Making this change required setting document_id on new editions before
they are passed to the repository so that they pass validation.
Add rake task to clean up orphaned data

Previous bugs resulted in editions without mappings and mappings without
editions. The rake task deletes all the affected records.

None of the records are being used by anything because of other checks
in the code that make sure both an edition and a mapping exist before
exposing it.
Merge pull request #77 from alphagov/fix-bad-data

Fix document validation and orphaned data