Fix unicode error for pregenerated reports

This is the same error as the previous PR.  In that PR, I fixed unicode handling when calling pylint/pep8 directly.  However, I did not fix the error for when `diff-quality` loads a pre-generated report from a file.

This PR does the same thing as the other fix: decode the file input as unicode, with error mode set to replace.
I also cleaned up the unit tests a bit.