Implement diff_file_tree.json endpoint for listing files in the diff
<!--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>
- [Work on this issue](https://contributors.gitlab.com/manage-issue?action=work&projectId=278964&issueIid=384894)
- [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=384894)
</details>
<!--IssueSummary end-->
## Background
As discussed in https://gitlab.com/gitlab-org/gitlab/-/issues/382236#note_1176331969, it helps in terms of performance when we paginate list of diff files.
## Proposal
Implement `diff_file_tree.json` endpoint to replace the `diff_files` property of the `diffs_metadata.json` endpoint. This endpoint should support pagination params (`page` and `per_page`) just like `diffs_batch.json`.
A PoC has been made in https://gitlab.com/gitlab-org/gitlab/-/merge_requests/104806.
issue