49121005 - make publications with no attachment invalid

Prevent publishing of publications without attachments
Allows either HTML or normal attachments.

* Adds a test to check the new behaviour.
* Fixes all the tests broken by the change to the publication factory (please check carefully).
* Removes the with_html_version trait from the publication factory as the factory now always adds an html version; I have done this cleanup to avoid confusion over a trait that has no obvious effect and to keep the codebase clean, I would appreciate validation that this is the correct thing to do.
    
https://www.pivotaltracker.com/story/show/49121005