Hide "Publish" if document can't be published

When documents have already been published without a new draft or their slug is being used by another Document, we want to remove the ability for them to publish. This commit hides the Publish button and surrounding info if the document shouldn't be published.

This commit also adds a test for this and changes a step_definition to be reusable.
Would this be better living in the `ShowDocumentService` (https://github.com/alphagov/specialist-publisher/blob/master/app/services/show_document_service.rb#L22) with the other metadata, rather than in a helper?