SLES grain fix (#3275)

The 'os' grain in SLES 11 SP2 is 'SUSE  Enterprise Server' (two spaces).
Tried to fix this a couple days ago but didn't notice the extra space
after 'SUSE'. See the following:

https://github.com/saltstack/salt/issues/3275#issuecomment-12425372
Replace hardcoded python executable with sys.executable
Add missing space to log message

When testing a new virtualenv installation today, I noticed the
following log message:

[INFO    ] Authentication failed from host foo, the key is in pending
and needs to be accepted with salt-key-a foo

This commit adds a space between "salt-key" and "-a".
Default refresh to True (ebuild)

See #3302
Make both "refresh=true" and "refresh=True" work

Also pep8 fixes.
Default refresh to True (pkgutil) + pep8 fixes

See #3302
Add refresh param + pep8 fixes

list_upgrades and upgrade are not yet implemented, but I added some
commented-out bits that can be uncommented once these functions are
implemented.
Default refresh to True (yumpkg) + pep8 fixes

See #3302
Prevent traceback using refresh param

Make the same change as was made in f0d1043 to pacman.py
Default refresh to True (zypper) + pep8 fixes

See #3302
Default refresh to True (yumpkg5) + pep8 fixes

See #3302
Fix Ubuntu bug in pkg.purged, pkg.removed states

17e35529 introduced a bug in which a nonexistant kwargs dict was being
referenced in the pkg.purge and pkg.remove functions. This is a blocker
for pkg.purged and pkg.removed states in Ubuntu.

I added kwargs to the pkg.purged and pkg.removed states, as well as to
each pkg provider which had a purge or remove function.

Note that this commit contains a lot of the same pep8 fixes that I made
in pull request #3311, so let me know if you want me to rebase once this
is merged.
Prevent traceback using refresh param

This commit forces the 'refresh' param to be cast as a string to keep
things like 'refresh: 123' in a pkg state from causing a TypeError.

Conflicts:
	salt/modules/apt.py
Add fileserver update module
Add an error to the fileserver updates in no fileservers are present
Import SaltMasterError
Fix #3300

Per @thatch45, pkg.upgrade will still default to refresh=True, but
list_upgrades will gain a "refresh" argument (which will also default to
true). This behavior will become the new default when #3210 is
implemented.

Conflicts:
	salt/modules/apt.py
Fail gracefully as non-privileged user
Default options were never returned if omit_pillar flag was set to false
Remove clean up of push socket in publisher to fix race condition

The clean up was causing an inconsistency in the pull socket,
this will need some more refinement, but for now the problem is
fixed