[WIP] Git driver

I wanted to open this to get some feedback. I switched from using tags to branches, as that makes a lot more sense. Now, to use the git driver, your docs repository should have branches that match your versioning.

- [x] **Handle multi-users properly.** Each branch is now cloned and stored in `app/storage`. This alleviates the issue of checking out the repository every single time the page is rendered, which would cause issues with multiple users.
- [ ] **Cache renders.** Just like in the Flat repository, we need to cache responses. Easy enough, but I was planning on adding a `CodexRepositoryCache` that wraps another `CodexRepositoryInterface`, but I'm not sure how to accomplish that with Laravel's IOC. Any thoughts or should I just go ahead and duplicate the cache logic in `CodexRepositoryFlat`?
- [ ] **Update the repository automatically.** This is a somewhat major issue. We could probably leverage the cache to automatically update everything every X minutes or whatever. Alternatively, we could leave it as a manual process.
- [ ] **Write documentation.**

What do you think about the changes so far? What are your thoughts on the remaining items left to accomplish? I think that covers it, let me know if I've missed anything!