class Overcommit::CommandSplitter

Distributes a list of arguments over multiple invocations of a command.

This accomplishes the same functionality provided by ‘xargs` but in a cross-platform way that does not require any pre-existing tools.

One of the tradeoffs with this approach is that we no longer deal with a single exit status from a command, but multiple (one for each invocation).

This will return a struct similar to ‘Subprocess::Result` but with additional `statuses`, `stdouts`, and `stderrs` fields so hook authors can actually see the results of each invocation. If they don’t care, the standard ‘status`, `stdout`, and `stderr` will still work but be a aggregation/concatenation of all statuses/outputs.