Allow filtering violations by protected branch status or name
<!-- This issue template can be used as a great starting point for feature requests. The section "Release notes" can be used as a summary of the feature and is also required if you want to have your release post blog MR auto generated using the release post item generator: https://about.gitlab.com/handbook/marketing/blog/release-posts/#release-post-item-generator. The remaining sections are the backbone for every feature in GitLab.
The goal of this template is brevity for quick/smaller iterations. For a more thorough list of considerations for larger features or feature sets, you can leverage the detailed [feature proposal](https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Feature%20proposal%20-%20detailed.md). -->
### Release notes
<!-- What is the problem and solution you're proposing? This content sets the overall vision for the feature and serves as the release notes that will populate in various places, including the [release post blog](https://about.gitlab.com/releases/categories/releases/) and [Gitlab project releases](https://gitlab.com/gitlab-org/gitlab/-/releases). " -->
### Problem to solve
<!-- What is the user problem you are trying to solve with this issue? -->
The compliance now shows individual merge request violations for all branches. This means it show violations across protected branches, such as `main`, but also for one-off branches that may be used for experiments or for branches that don't need to be monitored. This makes it challenging for [Cameron](https://about.gitlab.com/handbook/product/personas/#cameron-compliance-manager) to find violations for the only branches they care about.
### 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. -->
Add an option to the compliance report to filter results to only show all protected branches or all branches,
* See attached UX design
* Note: Selecting an individual branch will be after the MVC, which should include just the 'all branches' or 'all protected branches' option
**Important Note:** This feature only relates to what data is _shown_. No changes are proposed to what data is _recorded_. All merge request violations should still be recorded, regardless of branch status. It is still possible for an unprotected branch to cause issues and it is also possible for an unprotected branch to become protected in the future. If we don't record data for all branches, we would not be able to display those violations later when a user did need to see them.
<!-- Label reminders
Use the following resources to find the appropriate labels:
- https://gitlab.com/gitlab-org/gitlab/-/labels
- https://about.gitlab.com/handbook/product/categories/features/
-->
<!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION -->
*This page may contain information related to upcoming products, features and functionality.
It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes.
Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.*
<!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION -->
epic