Refactor Repo to introduce Gittable interface and separate Git structure objects from how the repo is accessed.
Initial work on GitHub repo object that allows interaction with GitHub rather than a local repo.