Puppet provisioning improvements

* Only do a single Puppet provisioning run.
* De-dupe packages.
* Don't attempt to change owner to `www-data` when Vagrant will just change it back each time.
* Only do the `apt-get` puppet upgrade once.