Make all the readProcessWithExitCode functions instances of a new ListLikeProcessIO class
Merge all the readProcessWithExitCode implementations, add readCreateProcessWithExitCode
Add readCreateProcessLazy and a Chunk type to allow processing the output before returning it