Move listener ref weakening to Connection

This means it's available on any Connection without cluttering up each
of the Reactor subclasses with *Weak versions of their connect methods.
The inevitable post-pull-request tidying. I love to tidy and tweak!