For every peer expose through `getpeerinfo` RPC whether or not we selected them as HB peers, and whether or not they selected us as HB peers.

Suggestion by @gmaxwell.
{
    CTxMemPool *mp;
    bool m_wtxid_relay;
public:
    explicit CompareInvMempoolOrder(CTxMemPool *_mempool, bool use_wtxid)
    {
        mp = _mempool;
        m_wtxid_relay = use_wtxid;
    }
    bool operator()(std::set<uint256>::iterator a, std::set<uint256>::iterator b)
    {
        /* As std::make_heap produces a max-heap, we want the entries with the
         * fewest ancestors/highest fee to sort later. */
        return mp->CompareDepthAndScore(*b, *a, m_wtxid_relay);
    }
};
}
bool PeerManager::SendMessages(CNode* pto)
{
    const Consensus::Params& consensusParams = m_chainparams.GetConsensus();
    
    
    if (MaybeDiscourageAndDisconnect(*pto)) return true;
    
    if (!pto->fSuccessfullyConnected || pto->fDisconnect)
        return true;
    
    const CNetMsgMaker msgMaker(pto->GetCommonVersion());