Create Instance-Level and Root-Group-Level Extension Marketplace settings
<!--IssueSummary start-->
<details>
<summary>
Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards.
</summary>
- [Work on this issue](https://contributors.gitlab.com/manage-issue?action=work&projectId=278964&issueIid=451871)
- [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=451871)
</details>
<!--IssueSummary end-->
MR: Pending...
## Description
Based on [this note](https://gitlab.com/gitlab-com/legal-and-compliance/-/issues/1932#note_1820192320) and [this comment](https://gitlab.com/gitlab-org/gitlab/-/issues/451871#note_1854307623):
> Introduce these settings at **instance level settings for self-managed customers** and at **root group level settings for .com customers**
>
> * **Extension Marketplace**: which defines the `extensionMarketplace` settings we give to VSCode when we start up. If this is not set, then we'll show a message in the VSCode Extensions tab like "Extension Marketplace has not been enabled for the GitLab instance. Please contact a GitLab administrator."
> * **Require user opt-in**: which is a boolean for whether users of the GitLab instance are required to opt-in to the Extension Marketplace. This is necessary for GDPR when the Extension Marketplace comes from a third party relevant to the GitLab instance. We'll have this setting enabled on `.com` but can be overriden by the root-group administrators. For self-managed instances, GitLab admins might be using an Extension Marketplace which they own and can leave this setting disabled or configure it at the instance level.
## Implementation Plan
- The presence of these settings should be behind a feature flag `ide_extension_marketplace`.
- We should encapsulate some of the conditions in a module under `lib/gitlab/web_ide` or something like that.
- These same settings will be used by Remote Development, so it isn't Web IDE specific.
- There are some hardcoded references to `openvsx` we'll need to update https://gitlab.com/gitlab-org/gitlab/-/merge_requests/157999#note_1994197280
issue