Update the guidance around a lot of our optional dependencies.

Review Request #11166 — Created Sept. 8, 2020 and submitted — Latest diff uploaded


Review Board


We have optional dependencies for database backends, SCMs, and
attachment storage modules that we've provided instructions for in the
past. Some of these have been pretty straight-forward. We can just tell
people to install mercurial, for instance, because we don't
particularly want to care about the version, and we don't link with it.
However, some modules, like django-storages need to have their
versions managed, and others may need to down the road.

This change adds a bunch of optional dependencies in extras_requires
in setup.py, which are keyed off by an obvious name. From here, we can
set and maintain version ranges, when appropriate, or add on additional
dependencies if we need to include something specific for a module.

The documentation has been updated to reference installing the
ReviewBoard[XYZ] package for these dependencies.

There's also instructions pointing PySVN users to our new installer,
helping them more easily get set up on most systems.

Successfully installed the packages via our wrapping ReviewBoard[...] names.

Verified the new documentation and the link to PySVN.