Generalise Attachment services

With the introduction of other types of documents, attachment services
need to be generalised. This involved removing the call to
specialist_document_id and allowing the document_id to instead be passed
in.
Adding services for AAIB report attachments
Allowing users to attach files to AAIB Reports

This commit adds an AAIB Reports Attachments controller and uses the
same views, with the only change being paths for partials and a switch
for the breadcrumbs in the attachment pages.

This also refactors out some steps to be a bit more generic and adds a
cucumber test for the AAIb Reports Attachments workflow.
Index CMA cases in Rummager on publish

Also remove them from Rummager when they're withdrawn.
Remove dependency on SpecialistDocumentAttachmentProcessor
Add spec for CmaCaseIndexableFormatter
Stub Rummager requests in cukes
Assert Rummager API is called in cukes

Define a `rummager_api` in the wiring so that we can use RSpec to spy on
the method calls it receives.
Merge pull request #148 from alphagov/rummager-integration

Index CMA cases in Rummager
Merge pull request #153 from alphagov/attachments-for-other-document-types

Attachments for other document types
Add gds_editor role

GDS Editors are able to see documents of all formats without belonging
to the owning organisation.
Merge pull request #156 from alphagov/add-gds-editor-role

Add gds_editor role