[*] slice one frame more in tracebacks.
[*] s/testEchoGrep/testCatGrep/, fixed it: use cat instead of echo, test the firts line, check that there are not more. [+] testCatGrep2 is similar to testCatGrep, but uses the Command as the input instead of its lines.
[+] testLongPipe tests three commands in a pipe. [*] force the restoring of the original std(out|err) to use the proper fd, instead of expecting no fd leak.
[*] fix some fd leakage. [+] accept option _bg, but it's not yet implemented.
[*] when _out=Capture and _err=Capture, stderr was redirected to the wrong fd.
[+] wait_for_pending_children() does just that. useful for children sent to the bg.
[*] convert all arguments to str() before lending them to exec*().
[+] _bg support. this means: [+] wait() does the teardown stuuf for the Command: wait()ing, reading output and failing if needed. [*] more status is held by Command, less is passed around. [+] use exit_code() (method, not attribute) to obtain the exit code. [*] all methods that check the outcome of the command (output, exit code, etc) and the destructor call wait().
[-] removed references to logging.