Automatically rebase dependent merge requests when merge target is rebased
<!--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=441446)
</details>
<!--IssueSummary end-->
## Problem to Solve
In https://gitlab.com/gitlab-org/gitlab/-/issues/323329 we implemented automatic rebasing when a merge request is automatically retargeted. In a small chain (1-2) MRs this works quite well to improve the experience of the second MR in the chain. However, if you have MRs like `main` \<- `A` \<- `B` \<- `C` then when `A` is merged, `B` will be rebased, but `C` won't leaving it in a confusing state.
## Proposal
We should automatically rebase all of the MRs in a chain when the MRs in front of them are rebased. This keeps the diffs of the relevant MRs correct and makes it easier to continue progressing those MRs.
### Additional Details
Some kind of limit/logic needs to be established for this so that we're not rebasing an infinite number of MRs for this action.
issue