Moved emitting user_registered signal to djblets, to prevent sending false emails.

Emitting this signal from the registration view wasn't correct, since that view
had no way of knowing whether or not registration was actually successful. Now
that djblets emits this signal instead, we can ensure that the new user
registration emails are only sent when a registration actually occurs.

Testing Done:
All unit tests pass.

Submitted blank, invalid, valid registration forms while:
1. no user was logged in.
2. another user was logged in

Bugs closed: 3438

Reviewed at https://reviews.reviewboard.org/r/6336/
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/
Moves localized string to javascript, in the prompt to discard a draft review.

Making the last few changes on code that fixed an issue, where there was no
prompt after pressing the Discard Review button on draft reviews.

This moves embedded localized strings for the button text to use .val()
instead of concatenating them into HTML.

Testing Done:
Tested Visually (in both Chrome and Firefox)

Both tested with and without clicking 'ok' on the draft review under a comment or issue.

. Clicking the Discard Review button, then clicking cancel closes the prompt.
. Clicking the Discard Review button, then clicking discard exits the review and gets you back to the review request.

Bugs closed: 3300

Reviewed at https://reviews.reviewboard.org/r/6346/
Merge branch 'release-2.0.x'
Make autocomplete less agressive.

This makes several small changes to the autocomplete widget:
- Autocomplete only replaces input with first dropdown item if input is a
  prefix for the item (this is bug 3444).
- COMMA key no longer triggers autocomplete; TAB and ENTER keys only work.
- Delete key (not backspace) no longer hides autocomplete dropdown.

Testing Done:
- No unit tests currently exist for ui.autocomplete.js
- Reverted delay values.

- Tests: (2 users and 2 groups, John and Johndoe)
- Tested on Windows 8.1 Chrome 38, Firefox 32 and IE11; Linux Mint 17
  (Ubuntu 14) Chromium 37 and Firefox 32
  - type 'John' (wait for dropdown), type 'd', hit TAB/ENTER quickly, does
    not autocomplete since the dropdown hasn't updated due to delay.
  - type 'Jo' (wait for dropdown), hit TAB/ENTER, autocompletes to John.
  - type 'Johnd' (wait for dropdown', hit TAB/ENTER, autocompletes to Johndoe,
    remove 'ndoe', hit TAB/ENTER, autocompletes to John.
  - Comma acts like regular input, does not trigger autocomplete. Starting to
    type another name after a comma behaves normally.
  - TAB acts as normal when autocomplete dropdown not present (jumping through
    elements)
  - ENTER acts as normal when autocomplete dropdown not present (hitting OK
    below input field)

Bugs closed: 3444

Reviewed at https://reviews.reviewboard.org/r/6333/
Merge branch 'release-2.0.x'
Fix sample usage instructions for post-commit hooks on Local Sites.

The usage instructions were showing review request URLs off the root of
the site, rather than ones from a Local Site. We now generate a URL (and
a sample ID, for consistency) and send it off to the template for
rendering.

There's also a fix for some non-localized usage text ("Or:").

Reviewed at https://reviews.reviewboard.org/r/6353/
Merge branch 'release-2.0.x'