Refactor gitlab-ctl related libraries in omnibus-gitlab with proper namespaces
Currently, the `gitlab-ctl` related libraries in omnibus-gitlab does not follow a standard library structure, and the files are spread without an order. We should fix this situation, and place all library files under a top-level `GitlabCtl` namespace. We already do this for few of the libraries, but not for all of them.
Because of the sheer number of files to tackle, doing this as an epic, with one issue each per category of gitlab-ctl commands (`geo`, or `postgresql`, or `registry`, etc.) makes sense.
In addition, we can autoload `/opt/gitlab/embedded/service/omnibus-ctl/lib` and `/opt/gitlab/embedded/service/omnibus-ctl-ee/lib` so that we can drop all the `require_relative` for `require` so that `gitlab-ctl` commands can be associated to corresponding cookbooks (https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/9009).
The directory can look something like the following at the end
```
files/gitlab-ctl-commands/lib
├── gitlab_ctl
│ ├── backup.rb
│ ├── generate_secrets.rb
│ ├── pg_upgrade.rb
│ ├── postgresql
│ │ ├── decomposition_migration.rb
│ │ ├── password_hash.rb
│ │ ├── pgpass.rb
│ │ └── replication.rb
│ ├── postgresql.rb
│ ├── praefect.rb
│ ├── registry
│ │ ├── database.rb
│ │ ├── import.rb
│ │ └── migrate.rb
│ ├── selinux.rb
│ ├── upgrade_check.rb
│ └── util.rb
└── gitlab_ctl.rb
files/gitlab-ctl-commands-ee/lib
└── gitlab_ctl
├── consul_download.rb
├── consul.rb
├── geo
│ ├── pitr_file.rb
│ ├── promote_db.rb
│ ├── promote.rb
│ ├── promotion_preflight_checks.rb
│ ├── replication_process.rb
│ ├── replication.rb
│ └── replication_toggle_command.rb
├── geo.rb
├── patroni.rb
├── pgbouncer.rb
└── postgresql
└── ee.rb
```
### Exit Criteria
The following command should return an empty set
```bash
$ grep -iR :: files/{gitlab-ctl-commands,gitlab-ctl-commands-ee} | grep -Ev "GitlabCtl|OptionParser|Chef::Mixin|Copyright|License|ShellOut|JSON|Timeout|Deprecations|Errno|Digest|recipe|OpenSSL|Zip|Resolv|Kernel|Net"
```
epic