Repository Protocols (part 3/3)
The final run of changes, mostly reiterating the things that were done/explained in the previous 2 MRs. This MR starts at 8ea545381408.
PyCharm is now flagging some deviations from the interfaces in mercurial.manifest
that may or may not be actual problems. But pytype doesn't notice, and this series is long enough, so that will have to wait.