Fix post-commit diff creation with unicode characters.

The post-commit diff fetch was returning a unicode object, but the guts of all
our diff stuff (Base64Field, hashlib.sha1) expected a str of bytes. This meant
that trying to use post-commit for any change that involved non-ascii
characters would fail with an exception on the backend (and an infinite spinner
on the front). We now explicitly encode the diff to utf-8 before creating the
review request, which fixes these issues.

Testing done:
Created some post-commit review requests for changes that previously failed.

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