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`.
adding chef-client provisioner
Update main.go
Update documentation
Merge remote-tracking branch 'upstream/master' into puppet-server
these functions can be shared by 9 and 10 vmware workstation drivers
added workstation 10 driver for linux
packer/rpc: fix a blocking issue
fmt
packer: closed pipe is caught [GH-875]
packer: errors go to stderr [GH-868]
website: correct availability zone docs
post-processor/vagrant: AWS/DO keep input artifacts [GH-55]
fmt
post-processor/vagrant: tests on input artifact
Remove race tests from travis, too many false