In parallel mode, run one file per process

This will allow us to soak up output for one file
(which shouldn't be too huge) in memory and dump it all at once,
preventing messages from different files becoming interleaved.
Changed delegate functions to callback ones

We still seem to be eating memory, even when we're doing a straight
pass-through on the stdout of cppcheck.
GC issues? I dunno.