Fix #update bug in DocumentMetadataDecorator

The extra attributes hash was completely replaced
on update with whatever was in the given hash.

This required the caller to provide all the
key/value pairs for the extra attributes or have
them wiped out. This was inconsistent with the
update behaviour of the other fields.
Importer set up initially to import AAIB reports

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.

Worked on by myself and @bestie
Handle duplicate titles.

 * For documents which already have a newer version, just skip it.
 * For documents which have an older version, delete that version and
   import the newer instead.
String body substitutions (PDF image) on AAIB reports
Import all the AAIBS
Update report type mappings and schema
Improve import logging

* Log the filename
* Log duration in ms
* Log errors when encountered (and continue)
* Allow arbitrary data to be logged
Correctly map aircraft categories to schema fields