Convert from the workspaces.project_id column to workspaces.namespace_id
MR: Pending
## Description
If we get the `workspaces` table association to `namespace` instead of `project`, that removes one more blocker to [support future flexibility of workspaces being associated with any type of namespace and not requiring an associated project](https://gitlab.com/groups/gitlab-org/-/epics/17039), rather than further locking us in to workspaces only being able to be associated with projects.
- See this discussion thread for context: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/142122#note_1753792090
- Also https://gitlab.com/gitlab-org/gitlab/-/merge_requests/150074#note_1870978417
See updated discussion in Workspaces Engineering Sync agenda item on 2024-03-12: https://docs.google.com/document/d/1b-dgL0ElBf_I3pbBUFISTYBG9VN02F1b3TERkAJwJ20/edit?tab=t.0#bookmark=id.trgpcezfnstx
## Acceptance Criteria
TODO: Fill out (required)
## Technical Requirements
TODO: Fill out or delete
## Design Requirements
TODO: Fill out or delete
## Impact Assessment
TODO: Fill out or delete
<!-- Replace with other type, e.g. bug or maintenance, if appropriate -->
<!-- Replace with other subtype if appropriate -->
<!-- By default, all issues start in the unprioritized status. See https://about.gitlab.com/handbook/engineering/development/dev/create/ide/#-remote-development-planning-process -->
<!-- For simplicity and to avoid triage bot warnings about missing workflow labels, we will default to issues starting at the refinement phase -->
issue