Right now, blight doesn't attempt to interfere with each tool's use of stdout or stderr -- it allows them to inherit the parent process's descriptors and write as if each blight wrapper isn't really there.
This is reasonable default behavior, but some use cases may want to stream or collect each Tool's output streams. So we should support custom FDs (or fileobjs) when provided.