extracted ProcessReaper class
try to cleanup the forked env better (borrowed from shellout)
implemented a process hang monitor
cleanup debugging
sync stdout/stderr
remove mutex
reliability fixes; cleanup