Rebase MR source branch - Unify response from UI and API when user can't force push to source branch

Problem

The ability to rebase a source branch requires force push for the source branch. When the source branch is protected and not allowing a force push, users receive a 404 error in the UI: https://gitlab.com/gitlab-org/gitlab/-/blob/abbda55531f0a9d630eee1dcf2305ca499c94116/app/controllers/projects/merge_requests_controller.rb#L514

However the same action via API returns a 403 with an explanation of why it can’t do it: https://gitlab.com/gitlab-org/gitlab/-/blob/abbda55531f0a9d630eee1dcf2305ca499c94116/lib/api/merge_requests.rb#L120-121

Proposal

Ensure the API and UI present the same response when the user can't force push to the source branch. The 404 in the UI is confusing, and the customer is not sure why they receive the error.

Edited by Michael Trainor