Change path and exec method in Puppet

This commit is prior art from alphagov/govuk_mirror-puppet#31ec3c
(https://github.com/alphagov/govuk_mirror-puppet/commit/31ec3c6e038326e9f152c01e3ea0dee4de2aae63).
From its commit message:

Replace Vagrant's builtin provisioner for Puppet with our own shared folder and
shell script. This will allow us to use a consistent filesystem path in Vagrant
and production which is useful for Hiera, in particular, because unlike
extlookup the `datadir` path can't be computed relative to another Puppet
variable.