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.
I'm not sure on that one. Worth checking with Holly :)