N+1 (cached) issue in merge request cached_widget.json
<!--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=325806)
</details>
<!--IssueSummary end-->
`<project path>/-/merge_requests/:id/cached_widget.json` endpoint is periodically polled by FE for changes in MR.
We could preload artifact projects - in `MergeRequests::PipelineEntity` we iterate through all artifacts and call `BuildArtifactEntity` which uses `job.project` (we already preload `job.artifact`) - although currently this SQL query is "cached" (as it's same proejct for all artifacts), it would be better to preload artifact projects.
issue