Fix HTTP proxy connect case on Windows
Merge remote-tracking branch 'rod/master'
Decouple Controller from HttpProxy and SocksProxy. Use a Tunneler interface so either a Controller (tunnel pool with lifecycle management) or Tunnel (single, specific tunnel) may be used as the tunneler for proxies. This is to support prospective test scripts that will test tunnels to specific servers.
Merge remote-tracking branch 'rod/master'