Draft: Enable batching for component includes
What does this MR do and why?
This MR refactors component content fetching to use BatchLoader, enabling batching of multiple component includes from the same project into a single Gitaly call.
Previously, each component triggered a separate Gitaly call (3 components = 3 calls). Now all components from the same project are batched into a single call (3 components = 1 call with 6 items).
This matches the File::Project pattern and reduces Gitaly load when using multiple components from the same project.
Issues: Request timed out when fetching configuration f... (#588313) and Optimize `Ci::Components::FetchService` with ba... (#584405)
Rollout issue: [FF] Rollout `ci_batch_component_fetching` (#596976)
Edited by Avielle Wolfe