Allow setting merge strategy 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=27442)
</details>
<!--IssueSummary end-->
### Problem to solve
Allow the merge strategy to be set at the branch level.
### Further details
For example, if I have three protected branches (master, stage, production), I'd like to the ability to set the following merge strategies:
- master: Fast-forward
- stage: merge commit
- production: fast-forward
### Documentation
https://docs.gitlab.com/ee/user/project/merge_requests/squash_and_merge.html
### What does success look like, and how can we measure that?
Ability to set the merge strategy at the branch level
### Links / references
Customer ticket: https://gitlab.zendesk.com/agent/tickets/116976 (internal use)
issue