[net, addrman] Remove external dependencies on CAddrInfo objects
Summary:
CAddrInfo objects are an implementation detail of how AddrMan manages and adds metadata to different records. Encapsulate this logic by updating Select & SelectTriedCollision to return the additional info that the callers need.
Partial backport of core#22950:
https://github.com/bitcoin/bitcoin/pull/22950/commits/7cba9d56185b9325ce41d79364e448462fff0f6a
Depends on D12329.
Test Plan:
ninja all check
Reviewers: #bitcoin_abc, PiRK
Reviewed By: #bitcoin_abc, PiRK
Differential Revision: https://reviews.bitcoinabc.org/D12330