Currently the `getnetworkinfo` returns something like: 

```
"localservices": "0000000000000449",
```

Manually parsing this consistently gives me a headache (see also https://github.com/sipa/bitcoin-seeder/pull/77).

It would be useful to parse this and show the right combination of `NODE_NETWORK`, `NODE_GETUTXO`, `NODE_BLOOM`, `NODE_WITNESS`, `NODE_NETWORK_LIMITED` and `NODE_COMPACT_FILTERS`. In addition the help text for `getnetworkinfo` could be expanded to mention the right BIP numbers for known flags.

There is some ad hoc parsing to populate e.g. `localrelay`, etc (?).  Their help text could also refer back to `NODE_GETUTXO`.

See also: https://en.bitcoin.it/wiki/Protocol_documentation#Network_address
{
            RPCHelpMan{"setnetworkactive",
                "\nDisable/enable all p2p network activity.\n",
                {
                    {"state", RPCArg::Type::BOOL, RPCArg::Optional::NO, "true to enable networking, false to disable"},
                },
                RPCResults{},
                RPCExamples{""},
            }.Check(request);
    if (!g_connman) {
        throw JSONRPCError(RPC_CLIENT_P2P_DISABLED, "Error: Peer-to-peer functionality missing or disabled");
    }
    g_connman->SetNetworkActive(request.params[0].get_bool());
    return g_connman->GetNetworkActive();
}
static UniValue getnodeaddresses(const JSONRPCRequest& request)
{
            RPCHelpMan{"getnodeaddresses",
                "\nReturn known addresses which can potentially be used to find new nodes in the network\n",
                {
                    {"count", RPCArg::Type::NUM,  "1", "How many addresses to return. Limited to the smaller of " + std::to_string(ADDRMAN_GETADDR_MAX) + " or " + std::to_string(ADDRMAN_GETADDR_MAX_PCT) + "% of all known addresses."},
                },
                RPCResult{
            "[\n"
            "  {\n"
            "    \"time\": ttt,                (numeric) Timestamp in seconds since epoch (Jan 1 1970 GMT) keeping track of when the node was last seen\n"