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.
const int nNewHeight = pindexNew->nHeight;
    m_connman.SetBestHeight(nNewHeight);
    SetServiceFlagsIBDCache(!fInitialDownload);
    if (!fInitialDownload) {
        
        std::vector<uint256> vHashes;
        const CBlockIndex *pindexToAnnounce = pindexNew;
        while (pindexToAnnounce != pindexFork) {
            vHashes.push_back(pindexToAnnounce->GetBlockHash());
            pindexToAnnounce = pindexToAnnounce->pprev;
            if (vHashes.size() == MAX_BLOCKS_TO_ANNOUNCE) {
                
                
                break;
            }
        }
        
        m_connman.ForEachNode([nNewHeight, &vHashes](CNode* pnode) {
            LOCK(pnode->cs_inventory);
            if (nNewHeight > (pnode->nStartingHeight != -1 ? pnode->nStartingHeight - 2000 : 0)) {
                for (const uint256& hash : reverse_iterate(vHashes)) {
                    pnode->vBlockHashesToAnnounce.push_back(hash);
                }
            }
        });
        m_connman.WakeMessageHandler();
    }
}
/**
 * Handle invalid block rejection and consequent peer discouragement, maintain which