Reject custom providers whose slug collides with built-in providers
custom_provider now checks that path_safe(name) does not equal
"github", "google", or "gitlab". A collision would make callback
routes ambiguous, allowing an attacker-controlled custom provider
to intercept authorization callbacks for a legitimate built-in one.
3 new tests: rejects "GitHub" and "Google" slugs, accepts non-colliding.