Creating and editing  AAIB reports

This merge request allows for creation of AAIB type reports.

It contains a chunk of work to allow the SpecialistDocumentsController to deal with multiple types of documents. This should highlight what is required to create a new type of report in the system for future document types and make the process of implementing a new document type much simpler.
As it is written by Sandi Metz, super classes should implement any methods they require the subclasses to implement and either return something meaningful / innocuous (empty array in this case) or `raise NotImplementedError`