Add the field mirror_path to RepositoryResource.

This adds the mirror_path field to RepositoryResource. This field
was previously not exposed in the API.

Reviewed at https://reviews.reviewboard.org/r/4897/
Fix a stray comma in RepositoryResource.

This comma was accidentally introduced in a recent change to
RepositoryResource, and broke things. It's now removed.
Remove 'from __future__ import with_statement' lines.

These are no longer necessary now that we're 2.6+. Trivial change.
Escape content before going into google-code-prettify.

marked.js passes raw text, not escaped text, to google-code-prettify.
This results in google-code-prettify highlighting content and otherwise
providing passed text as-is. This causes problems if you have any code
you're trying to highlight that looks like HTML, as it remains HTML.
Of course, this also means that HTML can be injected, leading to
attacks.

We now escape what marked.js gives us, and pass it to
google-code-prettify, which handles escaped content just fine.
Add release notes for 2.0 beta 1

This change adds release notes for almost everything that's gone into the master
branch so far. There are a few things that are intentionally left out because
they're not ready for user consumption.

Testing done: Built releasenotes docs and checked it out.
Reviewed at https://reviews.reviewboard.org/r/4861/
Fix and improve move detection.

Move detection had some issues that were a result of a stale variable
being accessed. When setting metadata, a previous variable was used,
instead of the instance we were currently operating on. This led to a
bunch of move information getting tacked onto the wrong line and erasing
things. That's been fixed, so move information can be better trusted.

Move detection was also picking up lots of little lines we really didn't
care about. It now has a threshold. It must be at least 2 lines of code,
or 1 line at least 20 characters in length. We may decide to tweak these
later on.

There was also an off-by-one with move ranges. If a range ended with a
line that wasn't considered interesting enough (< 4 characters), but the
range otherwise passed validation, that uninteresting line would be
included. This isn't always bad (might catch an ending brace, for
example), but it's not intended, and shouldn't be provided unless we
design for it.

I also made the move flags more consistent between the left-hand-side
and right-hand-side of the diff viewer. Both the "moved from" and "moved
to" flags are now anchored on the left of their side, so it's easier to
see what lines they span. Basically, I'm applying the new changes
recently made for the right-hand side to the left.
Better optimize for empty Markdown text fields.

Empty Markdown text fields still had a loading indicator (which was
partly cut off) and ran through all the linkifying and conversion steps.
We no longer show the loading indicators in this case, or do any
processing.
Stop trying to link the old Djblets directory during install.

rb-site install and upgrade were still trying to link the old Djblets
path, which we don't need anymore. When it failed, it would log an error
to the console, though it was harmless. We can safely remove all that.
Prevent update bubbles when resolving/reopening issues.

When resolving or reopening an issue, the code was marking the review
request as updated, using the timestamp coming from the response.
However, this timestamp wasn't actually factored into the review
request's last activity timestamp, so it ended up popping up an update
bubble showing the actual previous update.

That code is just gone now. There's no longer any update bubbles when
resolving issues.
Fix clicking on move flags in the diff viewer.

Move flags haven't been clickable in a while. They were still calling
the old RB.scrollAnchor function. Now, clicking emits a moveFlagClicked
event, which the page listens to and scrolls to the matching anchor for
the other end of the move range.
Fix places where we were using relative imports.

Relative imports won't be allowed in Python 3, and they sometimes cause very
mysterious bugs (like decorators being applied twice).

Reviewed at https://reviews.reviewboard.org/r/4929/
Update octal literals to use the new syntax.

Python 2.6 introduced a new syntax for octal literals, 0oXXX, which is more
consistent with other non-decimal literals. This syntax is required in Python
3, so we might as well update everything now.
Shrink the width of the diff file index image in the release notes.

The image was just too wide for the website, causing it to jump below
the sidebar when the page was at its minimum width. It's now been
resized to reduce the amount of horizontal whitespace within the image,
to kept it below the required image width.
Fix displaying review requests for a group on a Local Site.

The page showing review requests for a group wasn't passing in the
Local Site, due to a recent change. This meant that those using Local
Sites would get a blank list of review requests when viewing a group.
Merge branch 'release-1.7.x'
Release Review Board 2.0 beta 1.
Bump to 2.0 beta 2 dev.
Handle unicode/str cast operators.

A few of our objects defined __str__ and/or __unicode__ methods. This presents
some complications for porting to python 3, since str has different meanings.

Django provides a decorator, @python_2_unicode_compatible, whereby you define
__str__ using python 3 semantics (i.e. it returns unicode), and when running
with python 2, it will rename that to __unicode__ and make __str__ call that
and encode to utf-8.

Testing done:
* Ran unit tests
* Checked list displays in the admin

Reviewed at https://reviews.reviewboard.org/r/4920/
Convert metaclasses using @six.add_metaclass()

Metaclasses work differently in Python 2 and 3. Newer versions of six include a
decorator that can apply them for both versions. This change converts the
reviewboard codebase to use that.

Testing done: Ran unit tests.

Reviewed at https://reviews.reviewboard.org/r/4923/
Simplify logout view.

Instead of using django.contrib.auth.views.logout with a next_page of our login
URL, use django.contrib.auth.views.logout_then_login, which does the same
thing. Additionally, move the URLspec from reviewboard/urls.py to
reviewboard/accounts/urls.py.

Testing done:
* Ran unit tests
* Logged out of my devserver and saw that I was sucessfully redirected to the
  login page.

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