Proposed fix for BitBucket Issue #157

I have taken a stab at fixing bit bucket issue #157. A couple points

1. This code uses the 'print' function directly. I'm not sure if that is desirable, but I opted not to factor that out at this time.
2. Issue #157 was about unix domain sockets, I believe I have fixed it. I opted to try and make backdoor compatible with IPv6 at the same time.
3. I had to add a catch for BaseException in the call to InteractiveConsole.interact in order to make unit tests pass. The exception is printed when finalize is called. There may be a better way and I welcome any suggestions.
4. I probably broke some coding standard in this. I don't think I let any tabs slip in at least.