Dynamic Puppet Environments using Mcollective & Git