Add signed browser sessions and bound client tokens
Add signed browser sessions and cryptographically bound per-tab client tokens. A client token alone cannot prove ownership of another session. Credentials are bound to the application's name, use HS256 with a pinned algorithm, and validate schema, lifetime, signing-key ID, and audience. Rotation preserves existing tab bindings.
REFLEX_SESSION_SECRET supplies a comma-separated signing-key ring. Without it, workers share an atomically published key in .web/backend/session_secret; initialization preserves it and exported archives exclude it. POSIX files use owner-only permissions; Windows follows inherited directory ACLs. Config exposes a seven-day default TTL and half-TTL refresh interval; enforcement modes are off, warn (default), and enforce.
Rebased on main d02ba5409. Review order: #7361 → #7362 → #7363 → #7364. The earlier #7360 dependency is merged.
Validation: 244 focused session, initialization, export, and locking tests passed. Audience-isolation and persistence regressions fail without their fixes. The full assembled stack passes 12,147 unit tests with 80.15% coverage; see #7364 for integration validation.
Session ownership is intentionally valid for an already established connection; expiry gates HTTP credentials and reconnects. This is not application login or per-session revocation. The review discussion records the rationale.
Related to ENG-12910, ENG-9088.