Modify processOutput() to behave correctly when stdout is redirected

- Add test that redirects stdout and checks for expected output.

- Adjust prochandler.c to have consistent output across windows and linux.

- Add test that redirects stdout and runs process, but timeouts before
completion.

- Raise ValueError if outputTimeout is set when stdout is redirected.

- processOutput() of processHandler.py now behaves correctly when stdout is
redirected. Before it would throw an exception on Windows, and immediately
close the process on linux.

- With the above change, when a process runs longer than
(MAX_IOCOMPLETION_PORT_NOTIFICATION_DELAY + MAX_PROCESS_KILL_DELAY) seconds,
the _processOutput() thread would crash on wait() with exception OSError.
Changed the _wait() implementation for win32 to wait indefinitely.

- Add test for above item (test process running longer than MAX_...).