Feature/json exporter

A quick first pass at a JSON exporter. Would welcome some feedback around which fields are required, useful, etc.

For #5343

Note that this hasn't touched the XML export functionality at all.
That's be great. Wasn't sure if the XML link's actually useful at all.