Disregard pending connections when shutting down

I've run into an issue where my Twisted process does not successfully shut down, the reactor is stopped but the process never (or takes a really long time to) exits. Some investigation revealed that the shutdown callback returns `shutdown_deferred` even when there are only pending connections (and no client connections), ultimately resulting in `shutdown_deferred` not being called back and so Twisted waits on it for shutdown.

I opted for performing a more lenient idle check in the shutdown callback instead of threading my through the connector and factory callbacks.