The idea with `cacheUnrequested` is (was?) that, even though the connection did not originate with a locally initiated connect attempt, it's still "owned" by the ConnectionCache object.  It should wait for them to shut down along with the connections it did originate.

The *purpose* of such an API is that the central q2q.Q2Q should maintain a bunch of open connections to peers that it's interested in, and the listener/initiator aspect of the connection is mostly irrelevant.  Lifecycle management of these connections obviously needs to be improved a lot though.

Much more is probably beyond the scope of a review comment :)