Microservice to bring 2FA to self hosted PDSes forked from pds.dad/pds-gatekeeper

Adding an auth module with all the scopes, handles, and did checking goodies that can be used as middleware layers in axum inspired from my attribute macros elsewhere. master

example ``` // Multi-community endpoint .route("/xrpc/community.shared.moderation.report", post(report).layer(from_fn_with_state( with_rules(AuthRules::All(vec![ AuthRules::HandleEndsWithAny(vec![ ".blacksky.team".into(), ".bsky.team".into(), ".mod.social".into(), ]), AuthRules::ScopeEquals("atproto".into()), ]), &state), auth_middleware ))) ```