Refactor Git hosting providers (#11457)

This PR refactors the code pertaining to Git hosting providers to make
it more uniform and easy to add support for new providers.

There is now a `GitHostingProvider` trait that contains the
functionality specific to an individual Git hosting provider. Each
provider we support has an implementation of this trait.

Release Notes:

- N/A
bb1817ff31Marshall Bowers committed on 5/6/2024, 7:44:13 PM· committed by GitHubparent8871fec
17 files changedLine totals unavailable