GitBackend 

This branch was pulled from  @tiagochst's pull request and changed so seeding the database does not error out. It is also up-to-date with the master branch.  @david-yz-liu 

This also includes @oneohtrix's changes made to create "revisions" for git.