ExternalIp
Our externally-visible IP address: the slimmed port of libtorrent's external_ip (include/libtorrent/ip_voter.hpp) for what the peer list actually needs.
libtorrent votes on its external address (it may look different to v4 vs v6 peers) and feeds it into peer-priority ranking so the swarm forms a stable, well-connected topology (see http://blog.libtorrent.org/2012/12/swarm-connectivity/ and BEP 40). For the peer-list port we only need a single side: given a remote peer's address, what is our address of the matching family to hash against it.
Functions
Return our external address of the same family as forRemote: the analogue of external_ip::external_address(address const&). Returns null if we don't have an address of that family, in which case the caller skips priority ranking for that peer.