Remove the Pygments runtime dependency checks.

We have some really old code (Makefile days) for checking if syntax
highlighting can be enabled, based on having Pygments, and having a
minimum version of it. This code, in combination with some other code,
ends up creating some ugly and unnecessary circular dependencies between
parts of the product that only appear if you start importing certain
modules first.

These days, we have actual dependencies that get installed with the
product. This check is no longer useful, and causes more harm than good.
This change removes the check and all calls.

Reviewed at https://reviews.reviewboard.org/r/5811/
Condense some unnecessarily verbose code in reviewboard.admin.

Due to changes made over time to the admin widget code, we ended up
having some code in reviewboard.admin.signals that didn't really belong
there. A signals.py file should be fairly minimal and contain actual
signals, but this one had just signal handlers that were called from
reviewboard.admin itself.

This change just removes the file and moves that code directly into
reviewboard.admin, to keep things simple and consistent.

Reviewed at https://reviews.reviewboard.org/r/5812/
Bump django dependency to 1.7.13.

Picking up the latest security release for Django.
Merge branch 'release-1.7.x' into release-2.0.x
Bump django dependency to 1.6.5

Picking up the latest security release for Django.
Change 'password_reset_done' URL name to 'password_reset_complete'

The built-in password reset views use a different name for the last page in the
flow than we did before, and somehow we never noticed this until recently.
Trivial fix.

Fixes bug 3345.
Use 'cvs version' instead of 'cvs rls' to test remote repositories.

'cvs rls' is only available in CVS 1.12+, which isn't yet considered stable.
Fortunately, if 'cvs version' is run with a CVSROOT, it will end up checking
whether that CVSROOT is valid, which is perfect for our needs.

Testing done: Ran unit tests.

Fixes bug 3343.

Reviewed at https://reviews.reviewboard.org/r/5831/
Merge branch 'release-1.7.x' into release-2.0.x
Update the 2.0 draft release notes.

This adds in everything from the 2.0 RC3 release notes that wasn't a regression
or fix for a 2.0-only feature.

Testing done: Built HTML docs and read through them.

Reviewed at https://reviews.reviewboard.org/r/5832/
Fix the security checklist with super-locked-down webservers.

Some web server configurations prevent uploading of files with suspicious types
(like .cgi, .php, etc). In this case, the security checklist would throw a 500
because it would fail to even save the file, much less fetch it.

I've rearranged things a little bit to catch OSError exceptions when saving
files and remove them from the list of things that we then test/delete.

Testing done:
Manually caused one of the file types to throw an OSError and saw that the
security checks still passed.

Fixes bug 3341.

Reviewed at https://reviews.reviewboard.org/r/5827/
Decode author and commit messages coming from pysvn/subvertpy.

Post-commit review request creation with SVN worked fine when the commit
messages and author names were ASCII, but failed if there were unicode
characters. I've gone through the source for both libraries and verified that
this data is provided as a string, so we need to decode it to a unicode object.

Testing done: Ran unit tests.

Fixes bug 3346.

Reviewed at https://reviews.reviewboard.org/r/5835/
Don't crash post-commit UI with SVN commits with no author.

Apparently some people allow anonymous commits, in which case pysvn will return
a dict that doesn't have an 'author' field. Trivial fix to just use a blank
string.

Fixes bug 3349.
Break a circular reference in diffutils.

diffutils imports from Profile, which eventually imports diffutils
again, through a chain of imports. Depending on what's been imported
first, things are fine, and in fact, Review Board itself has no problems
with this. However, an extension trying to import from diffutils will
end up hitting this issue.

We only had the Profile import for the purpose of the DoesNotExist
exception. Instead, we can easily replace that with the more generic
ObjectDoesNotExist, breaking this cycle.

Reviewed at https://reviews.reviewboard.org/r/5839/
Fix an issue saving file attachments after guessing the mimetype.

In order to guess the mimetype for a file attachment, we'd feed the
contents to `file`. This worked fine, except that we never seeked the
position back to 0, causing issues when trying to write the file. This
really upset boto, breaking S3 support for any files we didn't have a
mimetype for.

The fix is simple. Just seek back to 0.

Reviewed at https://reviews.reviewboard.org/r/5842/
Add the changes made since 2.0 RC 3 to the release notes.

Our final releases always had a list of changes since the last RC
release, but we didn't have that in these release notes. This adds that
section with all the latest commits (that matter).

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