Greatly simplify Salt's setup.py script logic
Force saltenv to be a string when passed to state compiler
Load gitfs config values as strings
Load hgfs config values as strings
Load svnfs config values as strings
Don't try to use text_type to force saltenv to be unicode

This breaks salt code that uses raw string formatting (i.e. {0!r})
reliably stop windows services

`net stop` issues a stop command to the target service and waits
briefly (~30s), but will give up if the service takes too long to stop
with a misleading "service could not be stopped" message. `net stop`
will report failure, but some time later the service may actually stop
on it's own.

The common solution for really knowing when a service is stopped is to
poll using `sc query`, which is what this patch does for failed `net
stop` commands.

Adds two configuration constants which might need tweaking:

* `SERVICE_STOP_DELAY_SECONDS` - how many seconds to wait in between poll
  attempts
* `SERVICE_STOP_POLL_MAX_ATTEMPTS` - how many poll attempts to make
  before giving up

Most of the batch-file based solutions posted by windows admins are
unbounded polling, but I'm not comfortable with infinite loops so I
added the max attempts guard.

Right now I have these set to 15s and 5 attempts, so salt will wait 5*15
= 75s for services to stop, which might need some tweaking.

See also:

* http://stackoverflow.com/questions/3325081/how-to-check-if-a-service-is-running-via-batch-file-and-start-it-if-it-is-not-r
* ​http://stackoverflow.com/questions/1405372/stopping-starting-a-remote-windows-service-and-waiting-for-it-to-open-close
`net stop` return code is misleading, check stdout

When `net stop` gives up waiting for a service to stop, it still has
retcode 0, so we need to check the actual output to tell if it worked or
not. If we see "service was stopped" we consider it good, otherwise
start polling.

Sample `cmd.run_all` output for the `net stop` failure case:

    pid:
        6360
    retcode:
        0
    stderr:

    stdout:
        The NSClient++ (Win32) service is stopping........
        The NSClient++ (Win32) service could not be stopped.

Sample `cmd.run` output for the when `net stop` works as intended:

    The NSClient++ (Win32) service is stopping...
    The NSClient++ (Win32) service was stopped successfully.
Quotations are not necessary when passing cmd arguments in as an array

- This also fixes the inability to clone mercurial repos on Ubuntu 12.04
log when we stop waiting for a service to stop

Leave some evidence of the failure for the ops folks.
account for stop failures when restarting services

During restarts, only try to start the service if it successfully
stopped
adding tests for modules/linux_sysctl.py
change linux_sysctl.py to fail properly on misassign

The original check (4e1c367) for sysctl assign failure queries the
format returned by sysctl on stdout.  It was added evidently for some
container system called Virtuozzo.  A later commit (4e1c367) strengthens
the check into a full regex on sysctl stdout.

Unfortunately, it appears that on a contemporary conventional distro,
CentOS 7, sysctl repeats the config it is given on stdout whether or not
the config requested is valid.  Furthermore, an invalid config request
will not cause sysctl to return a nonzero status.  It does print an
error on stderr, so I've added an optional additional check of stderr.
Examples:

centos-7 # sysctl net.ipv4.ip_forward=1 ; echo $?
net.ipv4.ip_forward = 1
0

centos-7 # sysctl net.ipv4.ip_forward=backward ; echo $?
sysctl: setting key "net.ipv4.ip_forward": Invalid argument
net.ipv4.ip_forward = backward
0
remove redundant mock_open() in darwin_sysctl_test.py
pylint fix on linux_sysctl_test.py
Fix state_verbose: False output
Merge pull request #17073 from jfindlay/jmoney/linux_sysctl_test

Jmoney/linux_sysctl_test
Merge pull request #17064 from opdude/hg-quotations

Quotations are not necessary when passing cmd arguments in as an array
Merge pull request #17081 from lyft/fix-state-verbose

Fix state_verbose: False output
Update RC version in docs sidebar