Chef provisioner windows

Added native Windows guest support for Chef provisioners following the same pattern as the shell provisioner. This was tested against Windows guests over WinRM. This PR basically does two things:

- Sane Windows defaults for provisioner config values
- Added GuestCommands abstraction around guest file system commands (that are commonly used by provisioners).

NOTE - I did change behavior of the chef-client provisioner so that is does _not_ use sudo when creating or removing directories because the chef-solo provisioner does not use sudo and the default staging directory shouldn't require it. Thoughts?