fix(cmd): preserve noun routing metadata in command registry pipeline
_nounName and _nounCapability fields were being stripped at multiple points:
- cmd:register-batch handler overwrote noun commands without routing fields
- cmd:query-commands returned commands missing noun metadata
- Command cache save/restore dropped noun fields
Without these fields, noun proxy commands dispatched to cmd:execute:{name}
(which nobody handles) instead of noun:{capability}:{name}, causing the
command panel to hang at spinner for 30s on open groups/tags/etc.
Also fixes nouns.js to always publish valid result objects for void
capabilities like browse, and adds proper subscription cleanup.