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 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_...).