Don't validate using `SafeHtml` from govuk_content_models

Keeping this in triggers an error where an uninitialised constant --
`GOVSPEAK_FIELDS` -- can't be found. After some discussion with @alext
we decided to remove this functionality as we probably don't want to
allow embedding HTML in `Attachment` objects.

There's also a (cucumber) test to prevent injection attacks so we know
doing this is safe.

The error as it appears when this is kept in:

`uninitialized constant Attachment::GOVSPEAK_FIELDS (NameError)`
Add support for RAIB reports

This PR contains the work in specialist-publisher for editors from the
"Rail Accident Investigation Branch" to publish reports. It contains:

 - the schema of the possible values of the facets in the RAIB Report
   form
 - the models, services, observers, repo and views for RAIB reports
 - adding RAIB editors to permission checker
 - testing RAIB Report workflow
Merge pull request #295 from alphagov/add-raib-reports

Add support for RAIB reports
Wrap Finder formats in a Dropdown if GDS Editor

As GDS Editors, the amount of Finders was breaking the header
navigation. Now, we wrap the Finders in dropdown tags if the user is
from GDS. We also display the name of the current finder in the dropdown
if one is selected.

Also, adding a new route and permission check in the view requires
adding a new item in the hash in the application controller.
Hack around kaminari's inability to handle generic controllers.

This is a TEMPORARY fix to allow pagination to work until we fix pagination properly.

Kaminari, internally, uses url_for(controller:, action:) to generate routes.
See
https://github.com/amatsuda/kaminari/blob/adca9b25b4d3fefcb12552e939d7262eb86a3ec0/lib/kaminari/helpers/tags.rb#L30

In specialist-publisher, we have a route for each report (aaib_reports_path)
which all use the same controller and action. When Kaminari calls
url_for(controller: "abstract_documents", action: "index"), the first matching
result in routes.rb is returned, which is AAIB reports. So the CMA cases
pagination links are linking to /aaib-reports?page=2

Override how page_url_for(page) works in specialist-publisher to instead take
an extra parameter of document_type and call the correct routing helper.
Merge pull request #301 from alphagov/fix-pagination-always-pointing-at-aaib-reports

Hack around kaminari's inability to handle generic controllers.
Revert "Hack around kaminari's inability to handle generic controllers."
Merge pull request #302 from alphagov/revert-301-fix-pagination-always-pointing-at-aaib-reports

Revert "Hack around kaminari's inability to handle generic controllers."
Add a controller for each document type

Kaminari, internally, uses url_for(controller:, action:) to generate
routes. See
https://github.com/amatsuda/kaminari/blob/adca9b25b4d3fefcb12552e939d726
2eb86a3ec0/lib/kaminari/helpers/tags.rb#L30

In specialist-publisher, we had a route for each report
(aaib_reports_path) which all use the same controller and action. When
Kaminari calls url_for(controller: "abstract_documents", action:
"index"), the first matching
result in routes.rb is returned, which is AAIB reports. So the CMA
cases pagination links were linking to /aaib-reports?page=2.

To fix this, we have created a controller for each document type that
simply inherits from AbsctractDocumentController. While creating
additional code, this brings us closer to standard rails routing. We
have decided to prefer this to potentially confusing hacks around this
problem.
Merge pull request #303 from alphagov/controller-per-document-type

Add a controller for each document type
Add importer and auto-publisher for DSU
Merge pull request #298 from scraperwiki/import-and-publish-dsu-reports

Add importer and auto-publisher for DSU
Merge pull request #299 from alphagov/nav-collapse-with-lots-of-finders

Wrap Finder formats in a Dropdown if GDS Editor
Inject document type not a pre-scoped model to repositories.

In each case in the `RepositoryRegistry`, `specialist_document_editions` was
just a pre-scoped `SpecialistDocumentEdition` by document type.

I have refactored this scoping to happen within the Repository, as every place
that a repository was being used was being scoped by document type, and there
is no scenario we have encountered where this is not the case.

Further, part of the point of using the repository pattern is to concrete all
datastore access/operations inside the repository, so having this occur outside
the repository smelled a little to me.

This will provide further benefits when we introduce a Single Source of Truth
to list the available document types, making it much easier for us to use that
Single Source of Truth in future to simplify repository access.
Update README to account for new menu style

776446d9c5d9123d86513fa847539ee1c44c13f8 Changed how the menu was generated.
Update the readme to take this into account.
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.
Merge pull request #304 from alphagov/remove-scoped-editions-from-repository-registry

Inject document type not a pre-scoped model to repositories.
Merge pull request #305 from alphagov/simplify-factory-registries

Concrete document factories in a single location
Update README post entity-factory refactor.
Merge pull request #306 from alphagov/update-readme-for-finders-array

Update README to account for new menu style