Implement `gh discussion view` for viewing a single discussion with:
- Number or URL argument via shared.ParseDiscussionArg
- TTY output: title, metadata (state, category, author, age, comment
count), labels, markdown-rendered body, reactions
- Context-aware author attribution: "Asked by" for answerable
categories (Q&A), "Started by" for others
- Non-TTY output: key-value pairs matching `gh issue view` format
- JSON output via Exporter (Discussion.ExportData)
- --web flag to open in browser
- Pager support for TTY output
Also adds:
- GetByNumber client method with not-found detection
- shared.ParseDiscussionArg for number/URL/#number parsing
- shared.ReactionGroupList for emoji reaction display
Comment threading (--comments) is deferred to the next PR.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>