Handle Latin-1 encoded text in diffs

This is useful for avoiding crashing on "cdiff -l" (on Python 3) in
https://github.com/myint/cppclean.

Also handle unknown encodings gracefully rather than crashing.
Merge pull request #33 from myint/latin1

Handle Latin-1 encoded text in diffs