changed the io.Writer and io.Reader to be pointers to io.PipeReader
and io.PipeWriter instead so that we can properly shutdown the
ParseOutput goroutine
refactored the os.exec code into a separate module with some tests
around it