Modernize and document the Mercurial diff parser.
Review Request #10781 — Created Nov. 4, 2019 and updated
This updates the Mercurial diff parser to work directly on the
ParsedDiffFile, rather than the deprecated intermediary parser
dictionary. It also reduces repeated attribute accesses on the parser,
removes some state we used to capture that we don't at all use, and to
bring an unnecessary utility function inline to where it was previously
Along with this, the parser methods have been documented, providing
better insight into what each function is responsible for.
Unit tests pass.