Ensure that unpublishing an edition checks unpublishing.valid?

Also adds a check that you do not provide the same alternative url as
the unpublished edition.
Make unpublishing validate URI even if not using the redirect
Use Whitehall::UrlMaker to generate the public_doc_url
Merge pull request #859 from alphagov/52623681-validation-on-unpublishing

Tracker: https://www.pivotaltracker.com/story/show/52623681

Merging. Pull request queue is getting out of hand. Will hopefully find time to come back to this.