Write diff highlighting cache upon MR creation (refactors caching)
What does this MR do?
- Move diff highlighting cache layer to a new class
- Write cache when creating a merge request
What are the relevant issue numbers?
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/50204
Does this MR meet the acceptance criteria?
- 
Changelog entry added, if necessary 
- 
Documentation created/updated 
- 
Tests added for this feature/bug 
- 
Conforms to the code review guidelines 
- 
Conforms to the merge request performance guidelines 
- 
Conforms to the style guides 
- 
Conforms to the database guides 
Edited  by Oswaldo Ferreira