WIP: add mercurial support
This is my initial attempt at mercurial support. This is a WIP pr because there's some stuff that definitely can not stay, but this does work.
That said, there's a bunch of things we can do a bit better. For example, I had to comment some stuff out where we calculate diff stat, but both git, hg, and some other scms can do this when we generate the diff itself.
There's some other things that could be cleaned up like getting all commits at once instead of invoking the scm tool once for every commit, but that's better left for another pull request.
took a quick look at this, looks pretty good! let me know if you want to finish it up or I can probably finish it up? let me know!
Feel free to finish this off, I'm in security hell :-/
Going to close this as I think it's clear neither of us are probably ever going to get to it.