Update the Djblets Markdown support for Python-Markdown 3.

Review Request #11280 — Created Nov. 14, 2020 and submitted — Latest diff uploaded




This updates our Markdown extensions and testing to require and work
with Python-Markdown 3.x. At the time of this writing, 3.3.3 is the
latest version of this package, and 3.1.1 is the last version to support
Python 2.7. Because of this, we currently need to maintain support
across the 3.x range.

The extensions have been updated for the requirements in Python-Markdown
3.0+, which basically amounts to removing support for the outdated
"safe HTML" modes and switching to some modern functions for
registration of text processors.

Starting in Djblets 3.0, we'll remove support for Markdown 3.1, as we'll
be fully on Python 3.x.

Unit tests pass on Python 2.7 and 3.x, with Markdown 3.1.1 and 3.3.3.