fix Access Denied error on windows XP
factor signal handling out into its own class
refactor windows-specific code to have better structure and move imports to top
use CTRL-BREAK to emulate SIGTERM (clean shutdown) on windows
note INT-related failing tests on windows
- to get them working, probably requires http://bugs.python.org/issue18040
- as well as something like _USE_CTRLC_FOR_SIGINT similar to the existing _USE_CTRLBREAK_FOR_SIGTERM
use Windows JobObjects to have all children killed when the parent process dies unexpectedly