Update macports package manager to behave a little better.
Properly quote some parameters to MacOS dscl
Historically the recator has just called the "async" method of the runner and wheel clients, but this actually creates daemonized processes. In addition to creating a new daemonized process each event, the number of process it creates is unbounded, meaning that the reactor can easily use all available PIDs on a fairly busy master. In addition, there is no bound on the CPU that these are allowed to use (since they can create ALL the pids). This changes the reactor to create a threadpool for executing its master-side clients (runner/wheel). This threadpool has a configurable number of workers (max parallelism) and hwm (max queue size before dropping events).

The config defaults for reactor_worker_threads and reactor_worker_hwm may need to be adjusted, but these seem like sensible defaults for now.
Remove "fire_event" from AsyncClientMixin, since this was only added to remove infinite recusion in the reactor-- which is now not calling this API
Remove some un-used variables
Fix pylint
Pylint cleanup for threadpool
Switch to native file.file
Use native file.write
fix error where file.recurse would mess up names on salt-ssh
Properly quote some parameters to sed
Properly quote some parameters to sed
Properly quote some parameters to mdadm
Change status.pid to use Python regular expressions instead of shelling out to grep
Fix typo in 2014.7.0 release notes

virturalenv → virtualenv
Merge pull request #18313 from ronnix/patch-2

Fix typo in 2014.7.0 release notes
Bug fix. _grant_to_tokens not constructing full table name.
Pass timeout for pub() down to channel

Previously regardless of timeout a pub job would take 60s (default for channel) to timeout.

I noticed this because after an Mworker dying its possible to stall the reactor for 60s (if the job went to that MWorker)
Decrease timeout to fit into "long", before this timeout wasn't passed anywhere, but now that it is it has to fit into a C long otherwise you get errors like:

"OverflowError: Python int too large to convert to C long"
Merge pull request #18243 from cro/macports_update

Update macports package manager to behave a little better.