Stop making so many virtual resources

The old puppet code used a file resource with "recurse=>true" to set the
permissions on the MediaWiki-Vagrant clone and
"require=>Git::Clone['vagrant']".  This turns out to be
a really nasty thing to do in combination with Puppet 3.4.3 on Trusty.
When puppet processes the recursive File resource, it actually scans the
directory and creates a File resource for each file found. These
resources in turn inherit the require of the parent resource. For
a MediaWiki-Vagrant install with a reasonable number of extensions
installed this can balloon to 30k or more File resources. Since the
require is for a defined type Puppet will look to see if this type has
been implemented as a ruby extension before it checks to see if there is
a Puppet manifest that defines it. This requires Puppet to walk all of
the system ruby gem paths looking for "puppet/type/git::clone.rb". When
watched with strace on on labs instance, this resulted in 29 stat calls.
Now for the really really horrible part, this lookup is not cached and
will be repeated for each File resource. A full Puppet run on the same
testing host generated 2,293,353 failed stat calls for
"<something>/puppet/type/git::clone.rb".

Our git::clone type was given support for setting shared permissions on
new clones in I4c282b0ad14b3493026dead4e3b15f2749d5d22e, so we will use
that instead of cloning as root and then ensuring a perpetual recursive
chmod via the File resource.

Bug: 70971
Change-Id: I3eea91a5933af31457a3ac24624e0fda82d61849