[vsphere] vsphere fixes

public_ip_address not being set
Correct use of Fog.mock? instead of ENV
Use find_raw_datacenter to avoid the need of extra permissions
Find datastores in subfolders
nil pointer when finding vm
vm may take some time to be stopped