Update go fmt for new tool support and code parse error handling.
Review Request #11569 — Created April 2, 2021 and submitted
GofmtToolto subclass the newer
BaseTool, and to use
the newer features it offers (dependencies, improved file extension
handling, and centralized base command building).
The new version of the tool also handles the case where a
can't be parsed. Previously, we'd log the error but the tool would claim
it passed without issues. The new version parses any error lines it
finds and reports them as comments.
Unit tests pass on Python 2.7 and 3.x.