Add API endpoint to reset hard-failed pull mirrors
<!--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=576606)
</details>
<!--IssueSummary end-->
### Proposal
Add API support for resetting hard-failed pull mirrors without requiring Rails console access.
Currently, when a pull mirror fails 14 consecutive times, it enters a "hard failure" state and stops attempting to sync. The existing pull mirroring API endpoint (`POST /projects/:id/mirror/pull`) returns a 403 error with "Mirroring for the project is on pause" when attempting to trigger updates on hard-failed mirrors. This is documented under [Fix hard failures when mirroring](https://docs.gitlab.com/user/project/repository/mirror/pull/#fix-hard-failures-when-mirroring).
As noted in the documentation the UI provides a "Update now" button that can reset hard failures and resume mirroring for individual mirrors however there is no equivalent API functionality when multiple projects are affected. This creates a significant limitation for:
- GitLab.com users who don't have Rails console access
- Organizations managing multiple mirror projects programmatically
- Organizations that do not want to log into the rails console
- Automation workflows that need to recover from mirror failures
**Proposed Solution:**
Add one of the following API enhancements:
1. **Option A:** Add a `force` or `reset_hard_failure` parameter to the existing `POST /projects/:id/mirror/pull` endpoint
```
POST /projects/:id/mirror/pull?force=true
```
2. **Option B:** Create a dedicated endpoint for resetting mirror failures
```
POST /projects/:id/mirror/pull/reset
```
The implementation should mirror the UI behavior found in `ee/app/controllers/ee/projects/mirrors_controller.rb` where `StartPullMirroringService` is called with `pause_on_hard_failure: false`, allowing the service to reset the retry count for hard-failed mirrors.
**Benefits:**
- Provides API parity with UI functionality
- Enables programmatic recovery from mirror failures
- Reduces dependency on Rails console access for mirror management
- Improves automation capabilities for organizations with multiple mirrors
**Related Code:**
- Current API implementation: `ee/lib/api/project_mirror.rb`
- UI implementation: `ee/app/controllers/ee/projects/mirrors_controller.rb`
- Service logic: `ee/app/services/start_pull_mirroring_service.rb`
issue