repo show gains three fields, all omitted when empty:
watch—watchingormuted, the caller's own.bookmarked— the caller's own.fork_of— the parent's path, only when the caller can read the parent. A fork of a repository since made private stops naming it: a private repository is never confirmed to exist, here as on every other surface.
Watch and bookmark are the caller's state, not the repository's: alice does not see bob's bookmark. Plain output carries the same lines.
TestRepoShowCarriesViewerState covers absence, presence, ownership of the
state, the fork naming its parent, and the parent going private.
Closes #178