pyptlib - use JobObjects on windows to automatically kill PT children when PT itself dies

This allows obfs-flash-client to work smoothly on windows. Otherwise, some orphan processes sometimes hang around, using up listen-ports, and prevent the next PT from starting its children.

Patch is here: https://github.com/infinity0/pyptlib/compare/w32-subproc

Note that this is just a temporary measure to get things working on windows, until we implement legacy/trac#10047 (moved).

original ticket contents, obsolete since #comment:7:

Allow tor helpers to use JobObjects by setting CREATE_BREAKAWAY_FROM_JOB (Windows-only)

While building Windows pbfs-flash PTTB bundles, we encountered an issue where the obfsproxy child of obfs-flash would not be terminated properly after closing the PTTBB. More information can be found in comment:5:ticket:10006 .

After lots of digging around, the problem was solved by toggling the CREATE_BREAKAWAY_FROM_JOB flag of CreateProcess() in tor_spawn_background(). More info in comment:26:ticket:10006.

We should look at the possible side-effects of adding the CREATE_BREAKAWAY_FROM_JOB flag there, and if it's innocuous then we should implement the change and get it merged.