Optional admin approval for local user sign up
### Overview
In order to maintain control over an instance's membership, some administrators may benefit from requiring they manually approve any new user registration. This has a couple of use cases:
* Reduces operational burden for instances that err on the side of security and have registration disabled, but want to conditionally allow sign-up for certain members of the organization.
* Enables an EE instance to better control seat utilization. If managing costs is important to an instance, this may be helpful to gate membership on an instance.
### Proposal
* Add an instance-level setting requiring admin approval for new users.
* New users who attempt to register a new user on an enabled instance should see a message informing them that an admin must first approve their registration.
* Present an error to the user if they attempt to recover their password or login before they are approved.
* For the first iteration, no UI:
* Each request should send a registration request to instance administrators. The email should have the user's name, username, and email, with a link to approve or disapprove the request.
* Send a notification email to the user when the request has been approved.
* User that requested approval are placed in a new state "blocked_pending_approval" that functionally blocks the user and doesn't count them against licensing. Having a new state will be useful when building an approval queue in the future.
## Status Update
* 13.5 - Initial MVC for admin approval shipped! No email notifications included.
* https://gitlab.com/gitlab-org/gitlab/-/issues/257878
* https://gitlab.com/gitlab-org/gitlab/-/issues/257881
* https://gitlab.com/gitlab-org/gitlab/-/issues/257886
* 13.6 - Email notifications for admin and user. Banner for instances that don't have the option enabled. Setting admin approval to be the default option.
* https://gitlab.com/gitlab-org/gitlab/-/issues/257879
* https://gitlab.com/gitlab-org/gitlab/-/issues/257880
* https://gitlab.com/gitlab-org/gitlab/-/issues/267568
* https://gitlab.com/gitlab-org/gitlab/-/issues/237905
epic