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
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.
Add the release notes to the Table of Contents.
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.