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
`authorize_user` would probably be a better name for this method.