Creating and editing AAIB reports

This pull request included a large chunk of refactoring to of the SpecialistDocument/CmaCase creation stack to allow classes to be more flexible in regards to the creation of different document_types and introduces a new AaibReport document. There is still some duplication in the code here which would be good to remove if possible with further extension of document_types
If you're expecting all subclasses to implement the `finder_schema` method you should define it on the superclass and `raise NotImplementedError` in it.