Integration txtorcon torDeferredDispatcher

When the tor client endpoint `listen` method is
called and the txtorcon module is installed then
we utilized the torDeferredDispatcher to receive
the socks_port of the previously started tor proc.
We add this socks_port to the beginning of our list
of socks ports; we attempt a connection to each one
until a connection succeeds or we consume the list and fail.
Teach client tor endpoint to used shared tor proc

We let the tor client endpoint use a shared tor proc
if it is launched. Otherwise we try default system tor socks ports.

Currenly the txtorcon defaults to SOCKSPort=0. =-(
So in the example code tor-dispatch-onion.py I worked
around this problem...