Merge pull request #3835 from UtahDave/develop

Fix Windows Installer download location
Fix for "pip" detection so that setuptools is used

If setuptools is not used for PIP installs pip fails to install salt
with a rather nasty error:

error: option --single-version-externally-managed not recognized

from what I can dig up the simple use of:
    if "pip" in __file__

is sufficient to detect pip usage, and should be synonomous
with USE_SETUPTOOLS
Lingering comment removal
Fix some pep8 line length issues
Sub `is False` for `== False`
Fix pep8 line length
Fix typo in docs
Sub single quotes for double quotes
Handle requirement specifiers in pip.installed state

Double-quote the package in pip.installed, and make sure the , gets
through the pip module's pip.install comma-seperated package logic by
replacing , with ; temporarily.

Additionally, we now do the pip.list salt call with the prefix of name,
which includes everything before any pip requirement specifiers, so that
it will correctly report that the package is installed if that is the
case.

NOTE: We are not currently verifying that the version installed matches
the requirements specifiers
Remove rogue tabs and trailing whitespace in conf/minion
Remove rogue tabs and trailing whitespace in conf/master
Merge pull request #3836 from morganfainberg/possible-pip-fix

Fix for "pip" detection so that setuptools is used
Merge pull request #3838 from basepi/pipfix3797

Fixes #3797 Handle requirement specifiers in pip.installed state
Merge pull request #3839 from basepi/tabsandtrailing

Remove tabs and trailing whitespace from config files
More on the walkthhrough
Finish first draft of the walkthrough
minor fixes to walkthrough
Fix more of the walkthrough and add a few more pieces
Fix traceback in format_log

format_log assumes that if the first value it sees in the changes dict
is a dict with a key 'new', that the information in the changes dict is
from a pkg state. However, this causes format_log to traceback (and
causes the state to output nothing) when the changes dict contains mixed
data. This commit uses a more precise method of determining if the
changes dict contains information from a pkg state. It checks to see
that all values in the changes dict are dicts themselves, and that all
of these sub-dicts contain both "new" and "old" keys. Technically, this
is not a perfect solution since someone could write a state which
returns changes in a similar format, but it at least gets rid of the
traceback.
slight modification