Convert the review request page's view to a class-based view.

Review Request #9001 — Created June 6, 2017 and submitted — Latest diff uploaded

Information

Review Board
release-3.0.x
0e8b801...

Reviewers

The review request page is complex, with a lot of information being
calculated and used to compute ETags and render the pages. As we iterate
on the capabilities of this page, the view just gets more and more
complicated.

This change rewrites the view as a class-based view, making use of a
handy new mixin for review request pages (such as the diff viewer and
file attachment review pages -- though none of those use this mixin
yet). This view contains versions of the handy private functions used to
look up review requests and diffs, check for access permissions, and
perform common template context calculations.

The new view breaks up some of the logic into helper methods. It's
better organized and can be expanded later in a more clean way.

Future changes will move more classes to the new mixin and to
class-based views.

Tested that the review request page works. Tested actions, file
file attachments, reviews, status updates, replies, editing the
review request, and tracking visited state.