fix windows guest with puppet and a facter block

Powershell doesn't understand the unix-style ENV=thing command syntax, the old vagrant-windows plugin monkey patched the provisioner to put semicolons between statements to set the variables before running puppet - this fixes the issue inside a windows? block leaving the normal non-windows code path working - therefore works for me on both unix and windows provisions with a facter block in place
Merge pull request #3776 from agilebarbecue/master

provisioners/puppet: fix windows guest with puppet and a facter block