Restructure GitLab Schemas for Organization Isolation
## Context
Some of the [GitLab Schemas](https://docs.gitlab.com/ee/development/database/multiple_databases.html) have been named in the context of the old Cells architecture which is not valid anymore. The new architecture has no shared databases that are accessed directly from all the cells, which makes some of the old GitLab schemas names irrelevant, like `gitlab_main_clusterwide`.
As part of this Epic, we are doing some renaming and also extract some cell related tables into their own GitLab schema, which is called `gitlab_main_cell`.
This Epic will hold all the GitLab Schemas restructuring work that was discussed in:
https://gitlab.com/gitlab-org/gitlab/-/issues/472439
The plan was discussed in this thread: https://gitlab.com/gitlab-org/gitlab/-/issues/472439#note_2077473893
## Why This Work Matters
This schema restructuring is critical for GitLab's **Cells architecture evolution**. The current schema names like `gitlab_main_clusterwide` were designed for an outdated architecture that assumed shared databases across cells - but the new Cells design eliminates direct cross-cell database access.
**Key impacts:**
* **Enables proper data isolation** - Clear schema boundaries are essential for organization-level tenant isolation
* **Reduces confusion and technical debt** - Misnamed schemas create long-term maintenance burden and architectural confusion
* **Supports Protocells rollout** - Proper schema classification is a pre-requisite for our data migration efforts.
## Plan
* There are too many `gitlab_main_clusterwide` tables (80)
* About 40 are user related, so move these 40 to a new `gitlab_main_user` gitlab_schema.
* Make some clear criteria, e.g. will be synced to all cells in Cells 1.0
* Rename `gitlab_main_cell` =\> `gitlab_main_org`
* For `gitlab_main_org + exempt_from_sharding: true` (cell only data, e.g. `zoekt_nodes`), convert to `gitlab_main_cell`.
References:
- https://docs.gitlab.com/ee/development/database/multiple_databases.html
epic