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.
Won't this prevent publishing withdrawn documents? (code in the helper uses `document.draft?`)