Clean up reviews/urls.py.

This cleans up reviews/urls.py by separating out rules with common
prefixes into urlpatterns that can be included.

There are still some prefixes that remain across rules within a
urlpatterns block (the review e-mail previews), but those seemed to make
more sense kept together.
Provide raw downloading of files in the diff viewer.

The diff viewer now shows a download icon next to the revision
information for each file, allowing the original or new versions of a
file to be downloaded. This also works with files on interdiffs.

This can be used for easily downloading a patched file at any stage of a
diff revision range, or generating a diff based on the original and
modified files outside of Review Board.

Binary files use this as well instead of the previous "Download" links.
The existing actions lists remain, but won't be shown unless there's
content on either side. That can happen if there's a "Review" or
"New Comment" link.
Fix 'enter' in autocomplete fields (reviewboard)

Handling of the 'enter' key for autocomplete fields like people and groups
wasn't correct, because the djblets handler (which submits the field) was
running before the autocomplete handler (which populates the field with the
current selected item).

The fix is to ensure that the keydown handlers run in the other order. This
change does the review board side of that, using the new 'deferEventSetup'
option to avoid connecting the events until after we set up autocomplete.

Testing done:
Reproduced the bug. After this fix (and the matching reviewboard one), I can
press "enter" with a selected user and it will properly populate the field.

Fixes bug 2779.

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