refactor(common-oauth): RpFactory::build takes client_id and kind per call
Add DefaultRpFactory and DeterministicRpFactory per Phase 8 plan.
RpFactory::build now accepts (client_id: Url, kind: ClientKind) rather
than operating with no per-call parameters. DefaultRpFactory increments
a counter for per-flow seed diversity; DeterministicRpFactory reuses
a fixed seed for reproducible tests. Update interactive.rs to pass
client_id=http://localhost:3000 and kind=Public when building RPs.
Update test implementations to accept the new signature.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>