Changed so raises exception on subprocess call instead of silently swallowing it.
Improve the exception handling for the runner and wheel client api.
With the new return semantics when an exception occurs the dict returned now includes an error field
the value of this field is a dict with the keys

name= exception class name
args= exception args
message= exception message

This enables the api to reraise the exception on the api side of the master_call for runner and wheel functions

Improved the error classifiction so eauth and token errors are distinct.
Also exceptions will now be reported more accurately, all exceptions are not eauth exceptions.

A utility function was added in  salt/utils/error called raise_error that raises the exception specified by
the new error field in the return.
This function that s for exception classes with the name first in  salt.exceptions and then exceptions
Other runners that wish to have their exception correctley reraised should add an if clause to this function
Or refactor to have a list that is imported and checked
Merge remote-tracking branch 'upstream/develop' into sam_present

Conflicts:
	salt/utils/network.py
Convert set to list so msgpack and pack it

[DEBUG   ] MasterEvent PULL socket URI: ipc:///var/run/salt/master/master_event_pull.ipc
Process Process-1:
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
      self.run()
        File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/process.py", line 114, in run
            self._target(*self._args, **self._kwargs)
              File "/Volumes/Gob/Data/SaltStack/Code/salt/salt/master.py", line 272, in _clear_old_jobs
                  event.fire_event(data, tagify('present', 'presense'))
                    File "/Volumes/Gob/Data/SaltStack/Code/salt/salt/utils/event.py", line 296, in fire_event
                        event = '{0}{1}{2}'.format(tag, tagend, self.serial.dumps(data))
                          File "/Volumes/Gob/Data/SaltStack/Code/salt/salt/payload.py", line 118, in dumps
                              return msgpack.dumps(msg)
                                File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/msgpack/__init__.py", line 46, in packb
                                    return Packer(**kwargs).pack(o)
                                      File "_packer.pyx", line 206, in msgpack._packer.Packer.pack (msgpack/_packer.cpp:206)
                                        File "_packer.pyx", line 208, in msgpack._packer.Packer.pack (msgpack/_packer.cpp:208)
                                          File "_packer.pyx", line 175, in msgpack._packer.Packer._pack (msgpack/_packer.cpp:175)
                                            File "_packer.pyx", line 203, in msgpack._packer.Packer._pack (msgpack/_packer.cpp:203)
                                            TypeError: can't serialize set(['alpha'])
Moved old_present initialiation outside while loop so lost will work
Merge remote-tracking branch 'upstream/develop' into sam_present

Conflicts:
	salt/master.py
Update network.py
Add 0.17.4 release notes
Fix typo (option sin -> options in)
list_pkgs became quiet
Don't send timestamps in UTC

Logstash by itself takes care of conversion of timestamps to UTC, with how it was logstash was showing wrong time for the events.
Update yumpkg.py

add pkg.list_repo_pkgs
List the packages from repo 
salt '*' pkg.list_repo_pkgs
Fix infinite recursion when a file is invalid (corrupted, empty, or mid-write)
Merge pull request #9169 from gravyboat/develop

Initial commit to add the salt_projects page.
Fix white-space related lint issues.
Fix white-space related lint issues.
Casting to `int` non `int`'s raise `ValueError`'
Reading from a file should at most raise `OSError`, `IOError`.
Add missing import, correct bare exception. `wait_for_fun` can return `False`.
TABS!?!?!?!