I have bitcoind serving cfilters to an LND node on my local network on separate machines. Both have `192.168.1.x` IP addresses and they connect fine using neutrino. However, the LND node does not appear in the `bitcoin-cli -netinfo` table.

The reason is because if you look at the `getpeerinfo` response:

```
{
  "id": 11728,
  "addr": "192.168.1.153:64367",
  "addrbind": "192.168.1.13:8333",
  "addrlocal": "192.168.1.13:8333",
  "network": "not_publicly_routable",
  "services": "0000000000000048",
  "servicesnames": [
    "WITNESS",
    "COMPACT_FILTERS"
  ],
...
```

...so bitcoin-cli ignores the peer here:

https://github.com/bitcoin/bitcoin/blob/9c47eb450346937b3d7ee21b9e669b5c91a7ed6c/src/bitcoin-cli.cpp#L477-L479

...expecting one of these strings only:

https://github.com/bitcoin/bitcoin/blob/9c47eb450346937b3d7ee21b9e669b5c91a7ed6c/src/bitcoin-cli.cpp#L58

I'm happy to fix / add this myself unless there's a reason? Maybe instead of skipping the peer we can just add an "unknown network" category, or "other" ...?

cc: @jonatack 
"Could not locate RPC credentials. No authentication cookie could be found, and RPC password is not set.  See -rpcpassword and -stdinrpcpass.  Configuration file: (%s)",
                fs::PathToString(GetConfigFile(gArgs.GetPathArg("-conf", BITCOIN_CONF_FILENAME)))));
        } else {
            throw std::runtime_error("Authorization failed: Incorrect rpcuser or rpcpassword");
        }
    } else if (response.status == HTTP_SERVICE_UNAVAILABLE) {
        throw std::runtime_error(strprintf("Server response: %s", response.body));
    } else if (response.status >= 400 && response.status != HTTP_BAD_REQUEST && response.status != HTTP_NOT_FOUND && response.status != HTTP_INTERNAL_SERVER_ERROR)
        throw std::runtime_error(strprintf("server returned HTTP error %d", response.status));
    else if (response.body.empty())
        throw std::runtime_error("no response from server");
    
    UniValue valReply(UniValue::VSTR);
    if (!valReply.read(response.body))
        throw std::runtime_error("couldn't parse reply from server");
    UniValue reply = rh->ProcessReply(valReply);
    if (reply.empty())
        throw std::runtime_error("expected reply to have result, error and id properties");
    return reply;
}
/**
 * ConnectAndCallRPC wraps CallRPC with -rpcwait and an exception handler.
 *
 * @param[in] rh         Pointer to RequestHandler.
 * @param[in] strMethod  Reference to const string method to forward to CallRPC.
 * @param[in] rpcwallet  Reference to const optional string wallet name to forward to CallRPC.
 * @returns the RPC response as a UniValue object.
 * @throws a CConnectionFailed std::runtime_error if connection failed or RPC server still in warmup.
 */
static UniValue ConnectAndCallRPC(BaseRequestHandler* rh, const std::string& strMethod, const std::vector<std::string>& args, const std::optional<std::string>& rpcwallet = {})