utils.hg: high level method to extract changesets info
This will be, I hope, more readable than the pervasive "log with `:` separated template / split" pattern we've been using. Especially, I expect failures to be more readily understandable. Using namedtuples for the extracts so that it's admissible in dicts and sets. The drawback is that we have to return the class as well, for litteral comparison. Each call gives a new class but instances of two such namedtuple classes are comparable.