Trim extra displayed carriage returns in diffs and files with CRLFs
## What does this MR do?
This MR strips out extra carriage returns at the end of each tokenized string.
## Are there points in the code the reviewer needs to double check?
Does this remove more than we need?
## Why was this MR needed?
Windows users would see extra lines in their files. Newline characters are already added with every line in the HTML formatter.
## What are the relevant issue numbers?
#20440, gitlab-com/support-forum#892, #20468
## Does this MR meet the acceptance criteria?
- [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added
- Tests
- [x] Added for this feature/bug
- [ ] All builds are passing
- [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides)
- [x] Branch has no merge conflicts with `master` (if you do - rebase it please)
- [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)
See merge request !5588