Verify pillar from master on minion.

In some cases, it's possible for minion to get an invalid pillar from master,
through a mostly valid reply. Check that at least it's a dict, otherwise later
code tries to do lookups in it and fails confusingly.
Add support for `SALT_CONFIG_DIR` `env` variable. Fixes #2399.
Allow the use of `SALT_CONFIG_DIR` through API access. Refs #2399.
Make sure we have a config dir setting.
Add check for the validity of return data
Catch virt os.errors and return a failure
Update api.get_event docs to match SaltEvent.get_event

Ref #8524
Merge pull request #8618 from basepi/geteventdocs

Update api.get_event docs to match SaltEvent.get_event
Verify the resolv.conf in mounted images
Cleanly handle linked resolv.conf files
Verify that the resolvdir is present
Update spec file for 0.17.2
Remove unnecessary build requirement
Updated the troubleshooting with a nearly identical message addressing 0.17 and 0.16 compatibility between minions and masters as the one in the FAQ that was part of pull request 8505.
Ensure windows salt-minion service started
Fix comment
Handle case where vm is not found when migrating
Merge pull request #8622 from UtahDave/develop

Ensure Windows salt-minion service started
FINALLY finish the cloud controller tutorial

This tutorial covers how to set up the Salt Virt system in detail,
this tutoral could still use some work, btu it should be enough
for people to start using Salt Virt quickly!

We also want to make sure that the path to getting a private cloud
up in Salt is as easy as possible. So we will need to keep looking
at how to make this easy!
Properly detect dhcp ip and dns status