Add an is_enabled_for mechanism for NavigationBarHook.

This adds a way for NavigationBarHooks to be enabled/disabled per-user. This is
done by adding a new, optional is_enabled_for flag to the constructor, which is
a callable that returns either True or False.

Testing done:
- Ran unit tests.
- Used this in an extension.

Reviewed at https://reviews.reviewboard.org/r/6390/
Merge branch 'release-2.0.x'
Add the missing managers.py for the webhooks support.
Fix up password reset template to use modern CSRF protection.

Once upon a time, we rolled our own CSRF protection. This file was somehow
never updated for it, and still had a comment about what we should do when
moving to Django 1.2(!).

Testing done:
Went through complete password reset flow.

Reviewed at https://reviews.reviewboard.org/r/6405/
Merge branch 'release-2.0.x'
Switch to a different version of marked.js that fixes in-word underscores.

marked.js has an infuriating bug that even when "github flavored markdown" is
turned on, it has problems with underscores in the middle of words. Worse, it
didn't handle escaped underscores in the middle of hyperlinks, so even when
they were escaped, it was broken in some cases.

This change pulls in a version of marked.js from an open pull request that
fixes these bugs, which means that we no longer have to escape them.

Testing done:
- Ran unit tests
- Posted some changes with underscores mid-word, saw that the escaping was gone
  and that all text looked correct (with no unexpected em or strong).

Reviewed at https://reviews.reviewboard.org/r/6415/
Merge branch 'release-2.0.x'
Stop creating an unwanted history entry on view diff.

In Firefox changing the url hash by setting window.location.hash creates
a history entry. This behaviour is different from chrome et al so
instead we now use window.location.replace to avoid the extra entry.

Firefox will no longer return to #index_header when hitting the back
button after having clicked view diff.

Testing Done:
Visited the diff viewer using View Diff in both Firefox and Chrome
before and after the fix. Chrome's behaviour is unchanged and Firefox
no longer has the additional unwanted history entry.

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

Conflicts:
	reviewboard/static/rb/js/pages/views/diffViewerPageView.js