JSON reports (WIP)
obviously, still need to do a lot of the detail work here (no messages,
no idea how to handle battle-report units), but I've got a good
feeling about this