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
I could go either way on that, you're saying saying treat the data like an object rather than a primitive we apply a transformation to.

This class is definitely doing too much though. We'll address that today.

We should be implementing `#to_h` rather than `#to_hash`. Think about like `#to_s` and `#to_a` vs. `#to_str` and `#to_ary`.