Make setlinebuf a static member rather than exposed in the translation unit
setlinebuf is total provided by <stdio.h>. Whoops.
Only close files if they were open.  Wheee
Disgusting mess now runs programs in working dir (neglects PATH).  Security horror atm....
Other hacky notes
Remove some unreliable/useless logging and error checking