Add fixes and improvements for intersphinx.

Review Request #8955 — Created May 20, 2017 and submitted — Latest diff uploaded




Intersphinx is a handy way of referencing external documentation, but it
has some limitations. Option directives cannot be looked up if using an
intersphinx prefix or a program name, severely limiting their usefulness
and reliability. It's also annoying to add a prefix to every reference
in a file, if wanting to ensure a specific set of documentation is being
used (like with release notes).

This change introduces a new Sphinx extension that backports a fix
targeting Sphinx 1.6.x for option references, ensuring that we can
referencing them properly today.

It also introduces a new directive for setting one or more specific
intersphinx names that should be used for any unresolved references. No
other intersphinx sets will be used when this is specified. This allows
a page to ensure the proper sets of documentation are linked.

Tested this with the RBTools release notes. Verified that all references
worked properly.