Extract merge method domain methods from Project model
### Problem to solve There are a cluster of the `Project` model related to Merge Request merge methods that are in violation of our software guidelines: https://docs.gitlab.com/ee/development/software_design.html#taming-omniscient-classes See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/127531#note_1500200184 for background. ### Proposal Extract a `MergeRequests::MergeMethod` domain model that takes `project` as an initializer argument and abstracts the merge method calculations.
issue