This diff is motivated by these two tickets: T4949, T4950.
With the goal of having JUnit formatted test results and Clover formatted coverage results in mind there were preliminary steps to take.
The ArcanistLintWorkflow uses renderers seemed like the best way to approach rendering the output in the desired formats and the way
it dealt with specifying an outfile seemed like the best way to get our output into a file usuable in a CI environment.
So to use the ArcanistLintWorkflow approach I needed to refactor ArcanistUnitWorkflow to kind of work the same.
This will lead into diffs for supporting outfiles and the extra renderers for our desired output.
The main difference is soem code reshuffling and moving the json and ugly rendering methods into actual renderers and removing the
redundant command line arguments.