Fix TubConnector.shutdown

Porting to Twisted endpoints interfaces has us storing
the connect deferreds instead of connector objects.
Calling cancel on a connect deferred that has already fired
it's callback does NOT cause it's errback to fire. Fixed by calling
transport.loseConnection when the errback is not fired.