Clean up and modernize some of the diff viewer unit tests.

Review Request #8827 — Created March 19, 2017 and submitted — Latest diff uploaded

Review Board
The diff viewer unit tests are some of the oldest in the codebase, and
not all of it has aged well, some of it even being in the wrong
locations due to bad merges or code movement over the years, or doing
too much in one test.

This cleans up the unit tests, moving things around, making docstrings
more consistent, and splitting up a handful of test methods and classes.
This will form the base of additional tests for some diff work being

Unit tests pass.

Pyflakes and pep8 are happy.