Concrete document factories in a single location

* We weren't using non-validatable entity factories anywhere.
* Logic for creating documents based on format was split into different locations.
* The edition_factory used by SpecialistDocument was always `SpecialistDocumentEdition.new`.
* The generic concept of "entity" actually referred to documents.

Further, by concreting the specifics of how we build each document format in a
single location, we can see the common behaviour better, which will assist us
in further refactoring when we introduce a Single Source of Truth about which
document formats we deal with.