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.
Possibly. I have to refactor this anyways based on a chat with @futurefabric so I'll have a look at moving it.