Initial refactoring to pull a collectionofprojects role out of ::Git::Repo.
This now allows ::Git::CollectionOfProjects::FromList to be written which is
what Khisanth wants, and also means that the class whos name we hated
(Gitalist::Git::Repo) naturally gets renamed ::Git::CollectionOfProjects::FromDir
which sounds and feels much better to me. It also means that the config logic
for 'are we working with a dir or list of dirs' becomes the problem of
the Catalyst model code, which feels like a better place for that to be
to me.