Switch the Mercurial support to use the command line tool.

Our Mercurial support interfaced with the 'hg' module to cat files in a
repository, but this can easily be accomplished by the command line
tool. That tool is the correct API to use, not the module. More
importantly, it resolves a licensing issue due to the 'hg' module being
GPL, which was a terrible oversight that we want to address. This will
be backported to prior releases.
Switch over to using a real hg repo instead of a bundle.

The 'hg' command-line tool doesn't entirely work when treating a .bundle file
as if it were a repo. This change extracts the bundle into a new hg repo
directory, and changes our test suite over to use it.

Testing done: Ran unit tests.
Merge branch 'release-1.6.x' into release-1.7.x
Merge branch 'release-1.7.x'
Release Review Board 1.6.22.
Fix the destination S3 bucket address for releases.
Add the missing release notes.
Merge branch 'release-1.6.x' into release-1.7.x
Release Review Board 1.7.20.
Merge branch 'release-1.7.x'
Add the release notes to the Table of Contents.
Merge branch 'release-1.7.x'
Fix generating the manual with the recent Djblets change.

Djblets now accepts callables for headers on WebAPIErrors. This updates
the webapi docs builder to support this.
Merge branch 'release-1.7.x'