Merge branch 'develop' of https://github.com/saltstack/salt into develop
do remove PGPASSFILE only when password is set
Make user.info return {} if user not present

This change has been made in all four user providers.
Update refs to user.info

In 266b86a, user.info was changed in all the user providers to return an
empty dict if the user passed to it was not present. This commit updates
the refs in salt.modules.ssh so that they use dict.get (or check if the
return data from user.info resolves to False) where appropriate.

There are a few remaining refs in salt.states.user.present, but in all
of those remaining cases the user.info function is only run in instances
where the user already exists.
Use __context__ to reduce calls to chkconfig/runlevel

This commit uses the __context__ dict to keep
salt.modules.rh_service._services() from running chkconfig --list and
runlevel every time it is called (which is often). The service.running
and service.dead states will clear the context data before trying to
detect changes.

This fixes #4295.
Merge branch 'develop' of https://github.com/saltstack/salt into develop
Improve nested outputter to check all number types
fixed a typo

a typo with consequences clearly
Merge pull request #4388 from giantlock/develop

fix pgpassfile removing
fix unit tests
fix unit tests
Merge branch 'develop' of github.com:giantlock/salt into develop
Merge pull request #4392 from whiskybar/patch-1

fixed a typo
Merge pull request #4386 from terminalmage/issue4383

Make user.info return an empty dict when user not present
Merge pull request #4387 from terminalmage/issue4295

Use __context__ to reduce calls to chkconfig/runlevel
Fix issue with MasterExit being in salt.master.py
Merge pull request #4391 from torhve/develop

Improve nested outputter to check all number types
Merge pull request #4393 from giantlock/develop

fix unit tests
Add docstring and PEP8 Fixes

Because I know how much Tom loves to see PEP8 fixes in pull reqs
Set supplemental groups in _chugid (for runas)