Turn the reports to valid jsonrpc 2.0 notifications

The content stays the same, the lines are simply wrapped in a bit of
boilerplate JSON so it can be parsed as jsonrpc. That way a library may
be used to handle that, even when we don't do much interesting with it.

Also, piggy-back a small cleanup (using std::string) though the relevant
1 job for jsonrpc in 1 minute and 4 seconds (queued for 1 second)
Status Job ID Name Coverage
passed #2670