(gh-568) Make snapshot optional for vsphere

Without this patch beaker fails to provision a host in vsphere when no snapshot is provided, despite the documentation saying this is optional. It also throws a rather in-descriptive error message if no snapshots exist on the target vm `#<NoMethodError: undefined method 'rootSnapshotList' for nil:NilClass>`

This pull request checks to ensure the snapshot name is provided before attempting to revert the snapshot. It also provides a more descriptive error when no snapshot is found on the vm. Since "vm.snapshot" will return nil if no snapshot exists then we need to check for its existence.