Refactor revision selectors for future file attachment support.

This change refactors the DiffRevisionSelectorView control to abstract out
common functionality into a new RevisionSelectorView abstract base class. This
is then inherited by the existing DiffRevisionSelectorView and a new
FileAttachmentRevisionSelectorView.

Testing done:
Tested the various behavior in the DiffRevisionSelectorView.
FileAttachmentRevisionSelectorView is currently un-tested.

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