Fix leak of os.pipe() file descriptors

I'm going through a pull request so others can review as I'm not 100% sure this is the right approach. In the current master, ``ConnectionHandler`` never closes the ``os.pipe()`` file descriptors it opens. This patch moves open/close of these to ``start()``/``stop()``. This seems ok but could be a problem if we need to use the pipe while the client is stopped.

Thoughts?