Rework of more_time feature

In the past this feature has basically checked returns, pinged minions if they were still running the job, then returning once the job was no longer run remotely. This has caused some issues with race conditions if the minion or master are busy (and the time between minion done, and master recieved gets large).

This changes the behavior of the "wait" mechanism. The intent of this feature is to wait for the job return from all minions the job went to. To accomplish this we fire the job, then check the returns. If the initial returns are what we wanted/expected we break. If it isn't we will ping all targets and see if its still running. If more minions return, we merge them into the list of minions we are waiting for. We will timeout the job once all minions have stopped running the job and TIMEOUT seconds have passed (since the slowest minion)

Conflicts:

	salt/client/__init__.py
Pylint cleanup
Start pinging minions after TIMEOUT, instead of immediately
Add a timeout to get_event_iter_returns, the old implementation won't timeout if the event buss is relatively busy
Typo fix
warn for config
Assign master_name opt for proc_run on minion
so have valid destination
move systemd notify to process
Modified RAETChannel and Channel factory
Channel factory now has usage argument this is used by RAETChannel to determine routing destination addressing

Fixed three usages of RAETChannel

usage == 'local_cmd'  # Used by master_call for master to master communications
usage == 'call_cmd'   # Used by salt-call for cli to master communications through minion
otherwise default usage == None  # Used by minion to master communications

The destination estate is now None for all three usages.

These usages get translated into share destinations in the route dict for raet messages

usage 'local_cmd'  -> destination share 'local_cmd'
usage 'call_cmd'   -> destination share 'call_cmd'
usage None         -> destination share 'remote_cmd'

Fixed core.py Lane Router _process_uxd_rxmsg to recognize the share destinations and
do the apppropriate routing

Mainly this allows the destination estate to be none when a RAETCHannel is created and then
the router can substitute the approapriate destination estate for the master
Fixed comflict

Merge remote-tracking branch 'upstream/2014.7' into 2014.7_sam4

Conflicts:
	salt/transport/__init__.py
Fix #16165, fix the mods path in the shim and pass mods into wfuncs
use the config_dir to find the roster
Clean up new handling RAETCHannel as per feedback
more clean up
Merge remote-tracking branch 'upstream/2014.7' into 2014.7_sam4
Removed all the "os.listdir" based "checks"

* Per #15950 comparison against output of os.listdir is not a sane way to
test for existence of block devices.
Don't execute lsblk using absolute path

* Removed absolute path from lsblk call. Code already tests if lsblk is
in PATH, whichever lsblk satisfied that test in __virtual__ should be
the command that is called.
Renamed comps variable to cols for readability

I'm not sure what comps is short for, but this code is definitely doing
column-wise parsing.
Remove use of try/except for flow control

If the intent is to only extract the 7th column if it exists then it
makes more sense to actually test for the number of columns rather than
catch an IndexError which may occur at any of the 3 list index
operations within the try block.
Some improvements to parsing cmd output in list_

* Properly ignore "header" lines which indicate output in "CHS" or "CYL"
* Raise salt.exceptions.CommandExecutionError on unexpected parsing
	failures
* Always check for correct len of cols array before unpacking by index