overstate: Patching to fail on requisite failures.
Merge branch '0.17' of github.com:saltstack/salt into 0.17
Fix missing import

See http://jenkins.saltstack.com/job/salt-lint/585/violations/file/salt/utils/__init__.py/
Add additional functionality to the grains module to allow a user to pass in a flag that deletes the key as well as the value. The old behavior was just to set the value to None and leave the key intact. Refs #7872.

Conflicts:
	salt/modules/grains.py
Fix state compiler stack trace, github issue #5767
Fix pkg.installed regression (yumpkg)

This fixes a regression caused by the "pre-flight" checks recently added
to the pkg.installed state. The check_db function was not properly
handling 32-bit packages on a 64-bit OS.

In the process of investigating this regression, I also discovered a bug
in which pkg.latest_version was not identifying 32-bit versions of
packages, effectively rendering it impossible to install these packages
using pkg.latest states.

This commit fixes both bugs.

Conflicts:
	salt/modules/yumpkg5.py
Debian sets COLUMNS in base env which will truncate ps output

Fixes #5646
I don't always write docstrings, but when I do, sometimes I only write half of them and then I feel silly. :-/
Documentation clarification to make the explanation of /etc/salt/grains more specific.
When the minion refreshes its grains, it should also refresh its pillars so that it can fire an event back to the master to inform it of its new state. Refs #5737.
In-line documentation to remind the reader that some pre-processing of minion targets occurs on the master.
git_pillar: Don't merge updates

When updating the local cached repository don't try to pull/merge the
changes as the operation will fail if merge conflicts exist.  We only
want to mirror what's in the remote repository.
print_jobs was duplicating results

The display output was indented at the wrong place, therefore adding results each time there's a return_data.
More properly fix ext_job_cache minion ref per #7953
Fix version specification in apt pkg.install

Changing the install command to use shell=False in the call to
subprocess.Popen caused version specification to stop working due to the
"pkgname=version" string being quoted to prevent shell evaluation of
possible "<" or ">" characters. However, with shell=False this is no
longer a concern, so this no longer needs to be quoted.
Fix KeyError on minion startup if ext_job_cache option does not exist
Make sure multiple names clauses retain same order
Don't assume the fileserver cache dir has been created

Conflicts:
	salt/fileserver/svnfs.py
Pass data to minion when using salt-call (otherwise it ends up without a jid)
Pipes are illegal in Windows paths and filenames