Bug 1115278 - Move Sphinx build scanning into moztreedocs; r=glandium

In order for Sphinx documentation to work with Read The Docs, we need
the code for scanning the build config for Sphinx documentation to live
in an importable module. This patch moves some code from the
|build-docs| mach command into an importable module.

--HG--
extra : rebase_source : 263972d1415419c59c25058ca2cb90b3c31eda89
extra : histedit_source : e120aa117c63d54f6b293ae63d9bd1338ea0e808
Bug 1115278 - Store docs directory in a variable; r=glandium

--HG--
extra : rebase_source : b23e3e6202a2ea4b6f8ed24cdcf2698dededf6b6
extra : histedit_source : bfa988fb2259a03439700dfc894eefdeb2bb4a98
Bug 1115278 - Move Sphinx documentation staging into Sphinx extension; r=glandium

Previously, code for staging the Sphinx documentation from moz.build
metadata lived in a mach command and in the moztreedocs module. This
patch moves the invocation to the Sphinx extension.

When the code is part of the Sphinx extension, it will run when executed
with sphinx-build. This is a prerequisite to getting RTD working, since
sphinx-build is the only supported entrypoint for generating
documentation there.

With this patch, we can now invoke sphinx-build to build the
documentation. The `mach build-docs` command is no longer needed.

--HG--
extra : rebase_source : 86e76c7d598ffa23dae858254eecedbdd12706a4
extra : histedit_source : 1826aa5ddfafdff62847cc293d1f0950b236caac
Bug 1115278 - Add virtualenv to Sphinx environment; r=glandium

Python API documentation requires the ability to import modules. So, we
set up a virtualenv in our Sphinx environment so module loading works.

This solution isn't perfect: a number of modules fail to import when run
under sphinx-build.

--HG--
extra : rebase_source : fce732e0b8aefe0e9a2ee594b8a08ac02e27579a
extra : histedit_source : bef27c947b95c3182fbc6cd656ae8c96acaaa6f4
Bug 1115278 - Fix mach documentation issues; r=glandium

terminal.py had an ambiguous |import logging| that was importing
mach.logging from Sphinx. We fix it.

There was also a poorly formed link in the mach commands documentation.
We fix it.

--HG--
extra : rebase_source : 12783c69027989ac031d29e4ecbc1ee2f465ffa4
extra : histedit_source : 4283c6cdecc4de8aa7636d0c4cc566daf5142b50