Update the Subversion client for type safety.
Review Request #12637 — Created Sept. 24, 2022 and submitted
This goes through nearly all the Subversion client code, ensuring
function signatures, lists, and dictionaries all have types defined.
This has helped uncover many cases where we were assuming values were
Noneor assuming values were the right type (such as a string
instead of an integer).
Logic has been rewritten in some cases to aid in type safety, such as
when building a diff and dealing with a mixture of lists and generators.
Unit tests pass.