Add squash quick action for merge requests
<!--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=417370)
</details>
<!--IssueSummary end-->
## Issue
[Projects have a default shallow clone depth of 20 commits](https://docs.gitlab.com/ee/ci/pipelines/settings.html#limit-the-number-of-changes-fetched-during-clone). For merge requests with more than 20 commits, [`danger-review-local` on GitLab projects fails with](https://gitlab.com/gitlab-community/gitlab/-/jobs/4617990876#L835):
```
fatal: not a valid branch point: '3ddffaacb3735622fc85e7efc0ec1daa6be27b57'
fatal: couldn't find remote ref refs/heads/danger_base
```
The current implementation makes it impossible for contributor who only uses the Web IDE from making the pipeline pass after 20 commits.
- contributor may not want to clone the GitLab repo to their local computers due to the large size (> 1 GB)
- contributor may not want to use GitPod because
- of the long loading time (> 20 minutes on a fresh start)
- it blocks registration from certain email address domains
- it has a free tier limit of 10 hours (unverified) or 50 hours (verified) per month on standard class instances
### Proposal
Add a `/squash` [quick action](https://docs.gitlab.com/ee/user/project/quick_actions.html#issues-merge-requests-and-epics) that when called with:
- `/squash`: squashes all commits on merge request branch, and keep existing commit message
- solves the `danger-review-local` issue
- `/squash "commit message"`: squashes all commits on merge request branch, and sets commit message (which may be multiline)
- this allows adding/updating a [`CHANGELOG` entry](https://docs.gitlab.com/ee/development/changelog.html#what-warrants-a-changelog-entry)
### Implementation guide
- may be similar to the [`/rebase` quick action](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49800/diffs)
- [extract message after quick action](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/24947/diffs)
issue