Fix Unicode errors when generating diffs with git-p4.
Fix Unicode errors when generating diffs with git-p4.

When using git-p4 as the underlying client with Python 3, a
`UnicodeDecodeError` is thrown if any of the files to be diffed
contained non-ASCII text.

This was because the `make_perforce_diff()` function was using a mixture
of bytes and str objects. The solution is to keep everything in bytes
and never try to intepret the characters returned from the diff other
than in very specific ways it always has.

Testing Done:
This was a frequent error for us at work. I posted the solution to the
issue tracker a long time ago, but I've since been unable to find the
specific issue that was raised. I have been using this patch for at
least 3 years.

In-progress unit tests for RBTools 4 verify that this patch fixes the
broken behavior.

Reviewed at https://reviews.reviewboard.org/r/12255/

reviewboard/rbtools,reviewboard/rbtools,reviewboard/rbtools