Fix PublicDocumentRoutesHelper#public_host

So that public_document_url can be used outside of the request context
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.