providers/hyperv: initial commit

Initial work done by MS Open Tech
providers/hyper-v: cleanup
providers/hyperv: shuffle things around
providers/hyperv: better errors
providers/hyperv: clean up driver error handling quite a bit
providers/hyperv: all sorts of tests to verify Windows/admins
providers/hyperv: more checks on machine import
providers/hyperv: more cleanup
providers/hyperv: clean up status script
providers/hyperv: destroy
providers/hyperv: use HandleBox middleware
providers/hyperv: wait for IP on boot
providers/hyperv: remove unused var
providers/hyperv: wait for communicator on boot
providers/hyperv: reset machine ID if machine deleted outside
providers/hyperv: enable provisioning
providers/hyperv: clone the disk
providers/hyperv: change wording to look a bit better
providers/hyperv: fix file format to unix
synced_folders/smb: basically working