Merge pull request #4363 from s0undt3ch/develop

Fix some logging calls which included `exc_info` on the wrong function.
Change puppet config dirs if Enterprise puppet
Revert "Add workaround for https://github.com/saltstack/salt-api/issues/61"

This reverts commit a42ccf1b0142ca062ce3ffdf5ad9b0a4257e1dbc.
Remove extra paren
Merge pull request #4364 from sfdc-kho/develop

Revert "Add workaround for https://github.com/saltstack/salt-api/issues/61"
Merge pull request #4365 from UtahDave/puppet_dirs

Fixes Puppet Enterprise dirs
Update rvm.py

there is a bug in the code that causes _rvm to return False when rvm is not installed on the root account.
this commit passes runas to is_installed so it queries the correct user
Merge pull request #4366 from aberant/patch-1

Update rvm.py
* fix bug: cmd._run does not care about env argument when runas is passed
* fix bug: unable to set pass env param through command line
* fix bug: if runas set and shell rc files (.bashrc, .profile, etc) contain
  something that make stdout output env gathering fails
* fix bug (FreeBSD specific): su -s key has different meening (not about shell)
Merge pull request #4367 from giantlock/develop

some fixes for cmd module
Ref #4361 : add some unit tests on pip's args
Fix #4361 : requirements option is broken

Add the requirements also when providing local requirement file
Merge pull request #4369 from tonthon/develop

Fix #4361 : pip's requirements option is partially broken in 0.14
Improved readability, small grammar changes

swapped 'a' for 'an' where appropriate, fixed gramatical errors,
corrected verb agreement
Merge pull request #4371 from timhollinger/develop

Improved readability, small grammar changes
Normalize context data for user providers

This commit makes all user modules use __context__ in the same place,
and have the context variables be named the same. This is so that the
user state can clear the context data, allowing it to be able to tell
what has changed.

Additionally, this commit also reverts some changes that I made a couple
week ago. I was looking for a less wasteful way to get user data for a
given user, and the user state was running user.getent and then looping
through the list of user info dicts. I added some code to the various
user.getent providers at that time that allowed getent to optionally
return the info for a single user. It turns out, the user providers
already have a function that does this: user.info. The user state has
been updated to call user.info rather than user.getent, and the
additional logic that was added to the getent functions in a558d84,
449b1e2, 44ec713, and 031f8f6 has been removed.
groupadd.py: normalize context variable name for group.getent
Add __context__ support for group.getent

This commit adds the same __context__ support present in groupadd.py to
the following providers: pw_group.py, solaris_group.py, win_groupadd.py
salt.modules.postgres: handle empty passwords correctly

The 'password' and 'rolepassword' variables should not be evaluated as
booleans, as this will treat empty passwords as password not given.
Merge pull request #4372 from terminalmage/issue4336

Properly detect changes to groups made by user states