Cache syntax highlighted output
In https://gitlab.com/gitlab-org/gitlab-ce/issues/18592#note_13148981, we see that 30%+ of the time is spent just doing syntax highlighting of old and new lines. We should be able to cache this, either in Redis or in the DB, so that we don't have to redo this work every time. One idea may be to store this in the
MergeRequestDiff itself, since this gets updated every time the MR changes. We might even be able to save us the hassle of deserializing YAML all the time to show the diff.