feat: atproto OAuth authorization-server foundation
- New src/oauth/ module: D1 store (initOAuth + 5 tables, atomic jti-replay, opportunistic cleanup), ES256 DPoP proof validator (validateOauthDpopProof, ecJwkThumbprint, UseDpopNonceError), stateless rotating DPoP nonce (deriveDpopNonce, 300s window, current+previous), client-ID-metadata-document fetcher/validator (fetchClientMetadata, matchRedirectUri, verifyClientAuth for none + private_key_jwt), and the two discovery-metadata builders.
- Two public discovery routes (/.well-known/oauth-authorization-server, /.well-known/oauth-protected-resource) served in all variants; CORS exposes DPoP-Nonce + WWW-Authenticate; new OAUTH_NONCE_SECRET binding.
- Strictly additive — no existing endpoint behavior changes. Exported surface is the contract for the follow-up PAR/authorize/token/revoke lodes.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>