Big refactor, API incompatible changes

Hey @jedbrown, we've been using `git-fat` at our company and we love it!

We've made a load of changes to suit our needs and some of those changes make it incompatible with yours.

I've also packaged it as a pypi package to make it easy to install (although it has no real usefulness as a module alone).

I don't expect you to merge it because of the API changes, but we wanted to let you know that we love what you've done and show you what changes we made.