display info about version control systems (git and hg)

Hi,

This sequence of commits implements an abstract interface to distributed version control systems, that can be used to display status of files, perform vcs actions, etc. directly from ranger. It supports git and hg for now, but can be easily extended to other distributed version control systems (have partial support for Bazaar)

Since I wrote this, I have become quite dependent on it, as I always have a visual reminder the state of the repo, display diffs and logs very fast, etc. Maybe others can use it too :)

EDIT: I have added a couple of last-minute commits fixing things for python2. I hadn't checked it with python 2...