Fix handling of string types for perforce changeset descriptions.

We get data out of p4python as `str`s, but we weren't treating them as such.
This change adds some logic to decode changesets before processing them, which
should improve the situation.

Testing done: Ran unit tests.

Fixes bug 3407.

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