feat: add viewer state fields for authenticated user relationships
Viewer state fields show the authenticated user's relationship to records:
- `viewer{Collection}Via{Field}` for AT-URI refs (favorites, likes)
- `viewer{Collection}Via{Field}` for DID refs (follows)
Server extracts viewer DID from auth token automatically. Clients no
longer need to pass viewer_did as a variable.
Includes documentation, tests, and WebSocket subscription support.