Don't set an index on FileAttachment.repo_path.

MySQL has a rather low-ish limit for indexes on Unicode tables. We hit
that with the index for the new repo_path field.

This fixes the model and the initial evolution to not set an index. A
new evolution was added to fix the databases synced since the original
change, so that our state matches up, and otherwise will do nothing to
an existing database.
Add support for showing diffs of file attachments in the diff viewer.

Review UIs can now opt in to providing diffing functionality for file
attachments. A ReviewUI subclass that has supports_diffing=True will
have the whole width of the diff table to render in. It will be given
both the new file's fileAttachmentID, and the original's (as
diffAgainstFileAttachmentID).

FileAttachmentComment can now specify a FileAttachment that's being
diffed against. The ID for this can be set when creating a new comment
in the webapi.

FileAttachmentReviewUI will properly filter the comments when passing
down to the JavaScript to ensure only the comments matching that diff
range (or, if not using a diff, comments that are on a single
FileAttachment) are passed down.

It's up to the review UI to decide how to render the diff.
Remove the evolution to delete FileAttachment.repo_path's index.

Turns out this evolution doesn't work everywhere, so delete it.

Anyone who updated their database when repo_path was added will likely
need to run evolve --hint --execute. This will only affect developers
who updated in the past several days.
Revert "Remove the evolution to delete FileAttachment.repo_path's index."

This reverts commit a7c85620c570e0f344fdac098052f6bda424fc6e.

The problem I encountered was due to my database, specifically.
Simulated upgrades don't show the same symptoms.
Don't auto-open the change description editor when loading a draft.

One thing that's always annoyed me about loading a public review request with a
draft is that the change description editor box auto-opens. Until now this has
been a mere annoyance, but with the markdown change, it's downright ugly. This
change kills that behavior.

Testing done:
Loaded a review request with a draft and saw the change description stay where
it was when the page loaded.

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