Abstraction layer for scm/git
Only import pygit when GitReader is used
Add Mercurial reader
Import all scm modules at the beginning, but let it fail silently.
Then import them again when needed, but let them raise an exception.
This ensures that only actually needed scm modules will produce error
when missing while it keeps the module availbe across the script.
Python also checks for us not to import the module twice.
Merge pull request #5 from hroncok/gitclass

Abstraction layer for scm/git