Iron out some rough edges so it works for my setup too
- allow env vars to be overrideable
- use $PATH rather than specifying program paths
- don't clean env; this allows $PATH to work. we are already clobbering the appropriate envvars (TOR_PT_*) anyway
- have socat shim listen on localhost only
translate the mk(1) client directly into python to form the basis for mk(2)
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.