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
Update CHANGELOG
guests/freebsd: Properly register that the rsync_pre capability belongs to FreeBSD rather than defining re-defining it for Linux.
Update CHANGELOG
Merge pull request #3786 from treyhyde/master

hosts/freebsd: Unbreak rsync provisioning for FreeBSD by properly registering the rsync_pre capability