Allow users to submit by "enter" keypress on #search_field

This addresses Issue 3032, where the Search cannot be completed by pressing the
enter key.

Once the user inputs a text in the serach field, the jQuery UI attempts to
autocomplete the query. Currently, the search can only be completed through a
mouse click. On enter keypress, the autocomplete adds a comma do the currently
selected input and seeks for another query, but does not redirect.

This has been fixed by adding a new "option" on the ui.autocomplete.js
ui.rbautocomplete module, called enterToURL. This closely mimics the already
existing clickToURL by simply listening to the enter keypress and calling the
click event when the user presses a selected item.

Additionally, the "multiple" option was set to false, which disallows users to
search for more than one query at a time.

This does not modify the behaviour of other autocomplete text boxes as it uses
a new option that is by default false.

Testing Done:
I typed my username "mirai" in the search field, and select the option by using
the arrow keys. Once enter is hit, the search redirects to my user page.

Other random text queries including reviews work as well.

/js-tests pass 100%

Bugs closed: 3032

Reviewed at https://reviews.reviewboard.org/r/5423/
Fix for issue 3006: add password verification when creating new site

When creating new sites using rb-site install on the command-line, no entered
passwords were being verified. If passwords were re-entered incorrectly, it
accepted it, completed all the actions, and on the final step reported that the
passwords were wrong and aborted installation.

Now after passwords are first entered, the confirmation prompt makes sure that
the re-entered password matches the first. In addition, passwords were printed
out to the command line as a default value after the first prompt. This has
been removed.

Bugs closed: 3006

Reviewed at https://reviews.reviewboard.org/r/5424/
Fix internal server error at url /account/recover

Fixed a 500 error at /account/recover when trying to reset password on the
login page.

Testing Done:
Verified that the server no longer returns a 500 error when loading the form.

Reviewed at https://reviews.reviewboard.org/r/5431/
Mark reply text as markdown after publishing the reply.

When writing a reply to a review, the comment would properly appear
as Markdown, until it was published. It would then suddenly appear as
plain text. This happened because we rebuilt the reply element, but
never called formatText on it.

Now, if there's text provided when building the element, we call
formatText on it.
Ensure filtering menu is shown when viewing review requests in the admin section

In the URL /admin/db/reviews/reviewrequest/ when you had a small number of
review requests, the filtering menu was not fully shown. I changed the minimum
height for the box displaying the review requests, thus also showing the
filtering menu completely.

Testing Done:
I checked that the UI looks fine on the Chrome and Firefox versions mentioned
in the issue.

Bugs closed: 3222

Reviewed at https://reviews.reviewboard.org/r/5433/
Fix serving uploaded media on a dev server.

The recent fixes for static media resulted in /media/ serving up static
media files instead of the /media/ directory. This happened because the
document_root was no longer set and the static file server was used.
This reverts that part of the code.
Fix the interdiff selector.

The diff-context resource was broken because of Christian's local site name
refactor. Because this is now processed in a decorator, the local_site_name
needs to be the first parameter instead of the last.

Testing done: Used the interdiff selector successfully.

Reviewed at https://reviews.reviewboard.org/r/5440/
Change the svn post-commit hook to use 'rbt' instead of 'post-review'.

Trivial search/replace.
Created a keyboard shortcut to add comments to a diff

Created a keyboard shortcut (r/R) to add comments to a block of a diff. Also
saved the chunk that is highlighted when navigating the diff using keyboard
shortcuts to use for detecting where to put the comments.

Testing Done:
* Navigated through a diff using keyboard shortcuts and pressed all three of
  the keyboard shortcuts to bring up a comment, which bring up the comment box.
* If no block is selected, nothing happens when the shortcuts are pressed.
* Tested on multi and single line blocks.
* Tested on a diff with two files.

Bugs closed: 44

Reviewed at https://reviews.reviewboard.org/r/5442/
Don't let attachment image thumbnails overflow their containers.

Previously, image file attachments of certain dimensions would make
it possible for the thumbnail to overflow the thumbnail container,
which looked really ugly. We stop doing that now.

Reviewed at https://reviews.reviewboard.org/r/5444/.
hostingsvcs.bitbucket : Add optional api version argument to _build_api_url

We want to be able to use Bitbucket API versions 1 and 2.

Testing Done:
hostingsvcs tests.Bitbucket pass

Reviewed at https://reviews.reviewboard.org/r/5445/
Fix a regression in HTML escaping for text area fields.

Text area fields were no longer escaping the HTML-unsafe characters
contained in the source text, either when dealing with plain text or
Markdown escaping.

We now escape the text in the base TextAreaField after normalizing it.
Add hooks for the dashboard and user page sidebar items.

These new hooks allow for plugging content into the dashboard and user
page sidebars, using the new sidebar item registration APIs. They
replace the old DashboardHook and UserPageSidebarHook.

There's technically also a DataGridSidebarItemsHook, but it's more of a
base class. Since there's only two datagrids with sidebars right now,
I'm leaving it undocumented until we start seeing a need to expose it.
Make a couple simple improvements to some datagrids.

This makes a couple changes to the "Submitters" and "Groups" datagrids. To
start, I've renamed "Submitters" to "Users". I've also switched the order of
"Users" and "Groups". Finally, I've renamed the "Pending Reviews" column to be
"Open Review Requests".

Testing done: Looked at the changed datagrids.

Reviewed at https://reviews.reviewboard.org/r/5417/
Add the students to the AUTHORS file.

The upcoming beta has contributions from a number of our students, so we
want to add them to the list of contributors.
Fix the unit tests for the user page.

The user page datagrid tests had some left-over checks that I forgot to
remove. Instead of just removing them, though, I've rewritten them in
order to properly test the new sidebar.
Set better defaults for the dashboard columns.

The default set of columns for the dashboard were made a long time ago,
and we've had many useful columns added since. This sets some of the
better ones as defaults. The new set is:

* Selection checkbox
* New updates flag
* Ship It/Open Issues
* My Comments
* Summary
* Submitter
* Repository
* Last Updated (Relative)
Make the formatting for the diff label consistent with other labels.

This updates the "Diff Revision ..." label's style to look like the
Description, Testing Done, etc. labels. It's also now lined up with
where the Issues label would be.
Filter out indentation changes in unrelated areas in interdiffs.

Our new interdiff logic tried hard to hide changes to files that weren't
part of the provided diff, but the new indentation markup code showed
those changes anyway.

Now instead of the interdiff code turning things into "equal" chunks, it
turns them into "filtered-equal" chunks instead. Those are then
converted back into "equal" chunks in a post-processing step, after the
indentation code has run. This prevents that code from operating on any
chunks we don't want to display changes for.
Add an extensible API-level concept of "approval" to review requests.

Review request resources now have an `approved` boolean field that
indicates if the review request has met sufficient approval to pass
review and become part of the codebase. This is not exposed in the
Review Board UI, but extensions and consumers of the API can make use of
it for such things as preventing check-ins.

By default, this considers a review request to be approved if there's at
least one Ship It! and no open issues.

A new hook, ReviewRequestApprovalHook, can be used to alter the approval
logic by augmenting or replacing the existing approval code. This can be
used to easily require, for example, a minimum number of Ship It!'s, or
review by a member of a certain core group, or to provide different
logic depending on the department or repository.

Down the road, we can use this for the new pre-commit hooks, and we can
provide an extension utilizing this to make it easy to add some of the
more common types of approval logic people want.