Initial implementation of git pillar

#5732 

This isn't a particularly pretty implementation, but it does work.

There are a few "gotchas" with this implementation-- since the pillar builder uses the local fileclient you have to have some directory which has all of the files-- to work with this i've set it up so you have to specify a branch+repo combination.

Ideally we'd need to do some work on the fileclient to add a new class which is something like "gitremote" that can then manage all of the file getting/caching/etc.