1. Capture errors when listing directory contents and report them
as part of the response instead of exiting on first error
2. Refactor DirRead request to support providing a depth (instead
of the "all" flag), canonicalizing the paths, and have the choice
of returning absolute paths instead of relative
3. Fix forked process for launch not connecting over TCP to
server due to tokio runtime being inherited from parent
4. Fix leftover launch process caused by forking w/ the old runtime
5. Fix stdout/stderr of running processes not being reported
(when process looping and not returning) by wrapping stdout/stderr
in `BufReader` and sending back one line at a time for each
6. Refactor ProcStdout and ProcStderr responses to send back a line
field that is a string instead of a data field that is a byte vec
as we are now reading and sending back whole lines, which makes
more sense and aligns with output flushing and common stdout/stderr
processing by other programs