feat(identity-wallet): implement PDS OAuth PAR and token exchange helpers plus XRPC identity methods
Implements Tasks 6 and 7 from Subcomponent C of phase_03:
Task 6: PDS OAuth helpers (PAR + token exchange)
- pds_par(): Push Authorization Request to arbitrary PDS with PKCE + DPoP
- pds_token_exchange(): Exchange authorization code for tokens at PDS endpoint
- build_pds_authorize_url(): Construct OAuth authorization browser redirect URL
Task 7: Tests for PDS OAuth helpers and XRPC identity methods
- Tests for PAR request construction and error handling
- Tests for token exchange with raw response return
- Tests for build_pds_authorize_url URL formatting
Added XRPC identity methods:
- request_plc_operation_signature(): Trigger email verification on PDS
- sign_plc_operation(): Send email token and rotation keys to get signed operation
- get_recommended_did_credentials(): Fetch PDS recommended credentials for DID
All methods follow the existing patterns from oauth_client.rs and http.rs.
Added urlencoding = "2" dependency for URL parameter encoding.