Don't explode when a ChangeDescription references an invalid diff.

When a diff is deleted from the database, it doesn't remove the field from any
ChangeDescription objects (since that's buried in a JSONField and there's no
relation between them). This meant that if a published revision of a diff was
deleted, rendering the ChangeDescription would explode.

This change adds some bullet-proofing around the DiffField rendering to avoid
doing anything if the associated diff doesn't exist.

Testing done: Ran unit tests.

Fixes bug 3451.

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