[#53304571] Upgrade Puppet agents to 3.x

We're currently running 3.x masters and 2.7 agents in prod. The latter are
due to be upgraded within the next week. However since the development VM
and vagrant-govuk use `puppet apply`, which performs catalog compilation on
the client side, they should match the masters ASAP. This will allow us to
break manifest and template compat with Puppet 2.7 now that our tests focus
on 3.x

This will also implicitly pull in Facter 1.7 - I won't be explicit about it
yet, because I suspect that we may change this installation method in the
near future.