Close standard output for test runs

This way, code that writes to stdout via file descriptor 1 won't be
able to inject garbage output into the test plan output.  stderr is
untouched.

v1.1.3
Handle forked children in tests

The trick is to not trigger the TAP summary/exit behavior when the child
process (who inherits the atexit() handlers) fails to exec and exits
abnormally.  This is done by tracking the PID who initiated the test
plan and skipping the eval_test_run() call in atexit() unless the
exiting process' PID matches that.