Implement puppet-server provisioner

This closely modeled after the same provisioner
in Vagrant.
Add docs for puppet-server provisioner