Add Confidentiality to Test Cases
<!-- This template is a great use for issues that are feature::additions or technical tasks for larger issues.-->
### Problem
Currently, there is no way to mark a test case as confidential on the UI when creating or editing a test case.
For example, in gitlab~16459857 , we would like to use test cases as our single source of truth for both automated and manual testing. However, many initiatives in ~"section::fulfillment" deal with ongoing projects that contain non-public information, so we are unable to fully utilize this feature since we cannot add the necessary details to the test case.
### Proposal
<!-- Use this section to explain the feature and how it will work. It can be helpful to add technical details, design proposals, and links to related epics or issues. -->
<!-- Consider adding related issues and epics to this issue. You can also reference the Feature Proposal Template (https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Feature%20proposal%20-%20detailed.md) for additional details to consider adding to this issue. Additionally, as a data oriented organization, when your feature exits planning breakdown, consider adding the `What does success look like, and how can we measure that?` section.
-->
#### UI
**Creating a Test Case**
When creating a new test case, add a checkbox underneath the description (similar to issues) that states `This test case is confidential and should only be visible to team members with at least Reporter access.`

When checked, the test case should become confidential on saving. Group and project members who do not have Reporter access or above should receive a 404 page when attempting to visit the test case link.
**Project Test Cases List**
When a test case is confidential, the confidentiality icon should display next to the test case title in the project test cases list.

**Editing a Test Case**
When editing an existing test case, the confidentiality widget should be available in the right-hand sidebar. Below shows the different text that should display when clicking "Edit":
| When test case is confidential | When test case is not confidential |
| ------------------------------ | ---------------------------------- |
|  |  |
Clicking "Turn on" or "Turn off" will turn confidentiality on or off for the test case, respectively. Clicking "Cancel" should close the modal, and the test case should not be updated.
#### GraphQL
- Update the `createTestCase` and `updateTestCase` mutations to support confidential test cases
<!-- Label reminders
Use the following resources to find the appropriate labels:
- Use only one tier label choosing the lowest tier this is intended for
- https://gitlab.com/gitlab-org/gitlab/-/labels
- https://about.gitlab.com/handbook/product/categories/features/
-->
epic