Implement puppet-server provisioner

This closely modeled after the same provisioner
in Vagrant.
Add docs for puppet-server provisioner
Update docs for puppet-server provisioner
Use sudo by default, as in puppet-masterless
Add missing main_test.go for puppet-server provisioner

This is required to pick up the tests with `make test`.
Update documentation
Merge remote-tracking branch 'upstream/master' into puppet-server
Merge pull request #796 from Jimdo/puppet-server

Add puppet server provisioner