Stage 2 of behavior overhaul
See #2160 for what was already achieved, and links out to the remaining tasks; things like:

- Add dependencies to registry; so e.g. `-select` automatically implies `-list -connection -single`
- Filter behaviors in behavior string based on the entityType being inspected, to reduce noise
- Remove redundancy from behavior string - if something is overridden later then remove the original
- Generate documentation from the registry
- Integrate with the `graphile` CLI so that you can document the behaviors supported based on the plugins/presets you are using