Python version of obfs-flash-server.

I am calling this Mk. I.V because it's not quite the Mk. II from
https://trac.torproject.org/projects/tor/ticket/7167#comment:17 because
it doesn't yet support ExtORPort. It's a little more capable than the
Mk. I shell version, with logging, a configurable middle port, and
SIGINT handling.
Don't use a hardcoded mid_port.

We can allow obfsproxy to bind to port 0 and read what port it turns out
to be from PT messages.
Merge remote-tracking branch 'infinity0/master'
Make mkii torrc a copy, not a symlink.
use new subproc module from pyptlib
use new pyptlib functionality that I added
set the child PT environment in a more correct way