Set "Prevent approvals by commit author" option per branch
<!--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>
- [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=407791)
</details>
<!--IssueSummary end-->
<!-- 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). -->
### Problem to solve
We currently offer a feature called "Prevent Approvals by Users Who Add Commits", which allows project administrators to configure the repository settings to prevent approvals for merge requests by users who have added commits to the code. However, this feature is only available at the project level, which means it applies to all branches in the repository.
Depending on the Git flow used by an organization, there could be cases where a long-lived feature branch receives commits by all the eligible approvers of the MR. As a result, no one is able to approve the MR and thus, it cannot be merged.
Currently, two ways around this are:
1. In the MR, modify the approval rule so that no approval is required.
2. Squash the commits in the source branch of the MR. This effectively makes the commits to be seen as authored by only one of the contributors, allowing the rest to approve the MR.
### 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. -->
Extend this feature to allow for more granular control at the branch level. This would enable project administrators to configure the "Prevent Approvals by Users Who Add Commits" feature on a per-branch basis, providing more flexibility and customization in managing approvals for different branches in the repository.
A way of implementing this is to set the impacted branches by using regex, similar to protected branches.
<!-- 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/
-->
<!-- 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 -->
issue