Update doc8 for new tool support and more reliable output parsing.

Review Request #11562 — Created March 30, 2021 and submitted — Latest diff uploaded




This updates Doc8Tool to subclass the newer BaseTool, and to use the
newer features it offers (dependencies, improved configurable file
extension handling, centralized base command building, and standardized
error code output).

The new version of the tool has safer report parsing, using a regex
rather than manual string splitting and parsing to match lines. This
simplifies things quite a bit and avoids possible errors, or crashes if
doc8 changes output someday.

Unit tests were added to cover the new doc8 parsing, and to provide
integration tests.

Unit tests pass on Python 2.7 and 3.x.