add support for windows daemonization

We need this because MCI has poor support for running processes in the background. It would be much better to just start a new process, write a pid, and kill it at the end.
I'm not suggesting deleting the pid here. I'm suggesting adding an exit handler: https://docs.python.org/2/library/atexit.html