Import aaib reports from json files

([Trello ticket](https://trello.com/c/PMWRHmRc/187-aaib-finder-import-content))

From `import/metadata` (json files, see spec/fixtures/import) and `import/downloads`, import AAIB reports.

Also create an optional decorator used to validate that all attachments for a document have been referenced in the body of that document.

There is a requirement to allow summaries to be blank initially on import, but force them to be filled in as normal when an aaib report is edited manually, hence the wrapper in a hack that forces an extra save.

- [ ] TODO: Extract `validates :summary, presence: true` from SpecialistDocumentEdition.

Worked on by myself and @bestie
So if two documents have the same slug (caused by having a title which parameterises to the same value) but different occurrence dates then we delete the earliest? And if they have the same slug and the same occurrence date, then the sort won't change their order so we'll delete `other_document` every time?

I don't think that's our desired behaviour.