Pass repositories to PlGit.
PlGit::Repo will represent a repository
Tests demonstrate new object model.
PlGit with new git command.
cpanfile.snapshot should be in repo.
Improved security around git executions
A repo knows about branches.
Multiple branch test

My goal is to have everything essentially read-only style.  I want
to use this for a website, so the intention is that if you have
modified a branch, you need to make a new class that points to it,
and you'll be able to resolve the modified data.

This will also make the app load much faster because it won't call
git commands multiple times for one go.  In order to remove caching,
you'll have to create a new object.
Branches as classes.
PlGit::Test will be needed for other tools

Also, a general cleanup of the way it built stuff, but now I've got
lots and lots of ugly output.  Will need to move to open3, one day.
Branches now can list their log.

I've had to do some ugly stuff here because of the way that the
data works out.  I need to be able to know where the repo is for
the current commit, so it and all of it's parents need to know about
'repo'.  It's ugly to try to do this with coercion, so I'm moving
away from that except for where possible.
Commits contain more information
Merge pull request #1 from paulsalcido/load-repo

Load repo