Shell provisioner windows

@rasa This should supersede #1180, which is used as the base of this PR.

The WinRM communicator was changed to default to running all commands through PowerShell via a scheduled task. This is consistent with Vagrant and should provide more flexibility by using PowerShell over cmd.exe.

Changed the way environment variables were managed internally to work correctly with PowerShell.