Extract 'sync_code_owner_approval_rules' service
<!--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=232991)
</details>
<!--IssueSummary end-->
## Problem to solve
We added `EE::ProtectedBranches::CreateService#sync_code_owner_approval_rules` as part of moving code owners onto protected branches, but I think we can extract this logic into a new service class.
## Proposal
We'll want this to be able to sync existing MRs after creating new approval rules https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/app/services/ee/protected_branches/create_service.rb#L25
Acceptance Criteria:
- This logic is contained in it's own service class
issue