Refactor to allow extra (non-schema) metadata.

In doing so, we also return an OpenStruct rather than a hash to ease
behaviour below the presenters (views and helpers).
Add extra metadata for AAIB reports