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.
RPCExamples{
                    HelpExampleCli("getnettotals", "")
            + HelpExampleRpc("getnettotals", "")
                },
        [&](const RPCHelpMan& self, const JSONRPCRequest& request) -> UniValue
{
    NodeContext& node = EnsureNodeContext(request.context);
    if(!node.connman)
        throw JSONRPCError(RPC_CLIENT_P2P_DISABLED, "Error: Peer-to-peer functionality missing or disabled");
    UniValue obj(UniValue::VOBJ);
    obj.pushKV("totalbytesrecv", node.connman->GetTotalBytesRecv());
    obj.pushKV("totalbytessent", node.connman->GetTotalBytesSent());
    obj.pushKV("timemillis", GetTimeMillis());
    UniValue outboundLimit(UniValue::VOBJ);
    outboundLimit.pushKV("timeframe", node.connman->GetMaxOutboundTimeframe());
    outboundLimit.pushKV("target", node.connman->GetMaxOutboundTarget());
    outboundLimit.pushKV("target_reached", node.connman->OutboundTargetReached(false));
    outboundLimit.pushKV("serve_historical_blocks", !node.connman->OutboundTargetReached(true));
    outboundLimit.pushKV("bytes_left_in_cycle", node.connman->GetOutboundTargetBytesLeft());
    outboundLimit.pushKV("time_left_in_cycle", node.connman->GetMaxOutboundTimeLeftInCycle());
    obj.pushKV("uploadtarget", outboundLimit);
    return obj;
},
    };
}
static UniValue GetNetworksInfo()
{
    UniValue networks(UniValue::VARR);
    for (int n = 0; n < NET_MAX; ++n) {
        enum Network network = static_cast<enum Network>(n);