Start working on 'json' output and improving other things.

The --json flag is intended for use by programs calling pleaserun.
I haven't settled on a final schema, but for now, the output is a hash
containing the files and contents as well as any install actions.