gitrepo: fix compatibility with Mercurial default
Mercurial core changed and simplified the batchable API in
c424ff4807e6, breaking our base peer. This abstracts the batchable
functionality into a method in compat.py
, and simplifies the code in
gitrepo.py
a bit, removing a class that's now mostly redundant.