Allow superusers to access private repositories.

Trivial patch to allow superusers access to all repositories.

Fixes bug 3118.
rb-site: Deploy correct Apache 2.4 authorization

Apache 2.4 uses a different authorization config than 2.2. This change adds
some smarts to rb-site to detect when using Apache 2.4 and use "Require all
granted" instead of "Allow from all".

Testing Done:
Applied the patch and deployed it on a system with Apache 2.4.2. It properly
detected the version and put "Require all granted" into the apache-wsgi.conf

Bugs closed: 3210

Reviewed at https://reviews.reviewboard.org/r/5338/
Merge branch 'release-1.7.x'
Improve LDAP user lookups

This patch simplifies configuration of user lookups in LDAP and also provides
better help text to aid the administrator setting it up.

The email thread below has more details:
https://groups.google.com/forum/#!topic/reviewboard-dev/J6W1o9Eb2IY

Some additional minor changes:
* I reflowed the anonymous bind and service account bind sections so that they
  always return a user dn which is authenticated in a common location.
* I dropped the useless fallback of joining the username with the base DN. It
  was unlikely to ever work in a real-world LDAP environment and it made the
  code confusing.
* Added a debug log message indicating the DN that we will attempt to
  authenticate against.
* Extended the get_or_create_user() routine to take the user DN Since we
  already have this information above, it doesn't make sense to search a second
  time. We'll just perform a BASE search instead.
* Corrected a typo in the help text of the Full Name Attribute

Testing Done:
Tested authenticating using TLS with and without using an LDAP service account
to perform the search.

Fixes bug 3004.

Reviewed at https://reviews.reviewboard.org/r/5203/
Add render_value to various PasswordInput fields.

For password inputs that are part of settings (LDAP auth, mail host, and
repository), the password wasn't pre-populated into the form, which meant that
if you changed said settings, you'd need to re-enter the password. This is
highly annoying. I've added `render_value=True` to the affected PasswordInput
ctors.

Testing done: Checked that saving a password was "sticky".

Fixes bugs 3037, 3167.
De-duplicate user search in LDAP

Move identical user search after the anonymous and service account binds for
better readability and maintainability. Also clean up a couple comments.

Testing Done:
Same test routines I ran for /r/5203

Reviewed at https://reviews.reviewboard.org/r/5345/
Merge branch 'release-1.7.x'
Fix review counts when deleting repositories.

Removing repositories through the admin UI was hopefully the last place that
could leave the review counts out of date. Unfortunately, there's no good way
to get signalled when doing cascaded delete operations, because it's handled
entirely by the SQL server.

This change overrides uses a pre_delete handler to fix up the review counts
when deleting one or more repositories.

Testing done:
Removed repositories that had review requests both using the individual and
bulk delete operations. Reloaded my dashboard and saw that the review counts
were correct.

Fixes bug 3192.

Reviewed at https://reviews.reviewboard.org/r/5343/
Speed up the creation and publishing of drafts.

This massively reduces the number and complexity of queries needed to
both create review request drafts and to publish them. This code was old
and predated things like the F() queries and update_fields=. It also
took an ignorant approach to updating lists of ManyToManyFields.

We now make use of all three approaches to substantially reduce the
number of queries we have to perform, and to keep those queries simpler.

While in there, I also fixed copying over extra_data into the draft,
which was missing before.
Add hooks for creating account pages and forms.

This introduces AccountPagesHook and AccountPageFormsHook, which allow
extensions to add to the My Account page. It also provides documentation
on using them.

While implementing an extension, I decided to change some of the naming.
reviewboard.accounts.forms.account is now
reviewboard.accounts.forms.pages, which helps tie the forms to the pages
reviewboard.accounts.pagemodule, and removes the double "account."
I also renamed AccountForm to AccountPageForm.