Add structured output for all ndp(8) operations.
This change mostly leverages arp(8) structured output structure with some differences described below.
- use more generic "neighbor-cache" instead of "ndp-cache" (contrary to "arp-cache")
- use "address" instead of "ip-address" for IPv6 addresses
- Questions
- Do we really want to continue using kebab-case for field naming? It sometimes makes life harder ("-" treated as minus sign, apps like jq requires escaping to address these field, etc..) and I'm not sure I see json kebab case in the real world (with the notable exception of Juniper).