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.
Actually, slight optimization nitpick here, `reload` returns self and updates the receiver, so just do it one time above the expectations.