Update macports package manager to behave a little better.
Properly quote some parameters to MacOS dscl
fix grains filter_by function when using salt-ssh

very similar to #18238 and 7975b0a11
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
Fix pylint on 2014.7 branch
Remove some un-used variables
Fix pylint
revised (better) fix of sh stuff in zypper mod
Merge branch 'salt-ssh-grains-fix' of https://github.com/slafs/salt into slafs-salt-ssh-grains-fix

Conflicts:
	salt/client/ssh/wrapper/grains.py
Add missign exception import
Merge pull request #18225 from jfindlay/zypper_shellisms

revised (better) fix of sh stuff in zypper mod
Merge pull request #18255 from rallytime/more_pylint

Fix pylint on 2014.7 branch
Pylint cleanup for threadpool
Fixed invalid syntax in zypper module
Fix typo

cc: @jfindlay
Merge pull request #18269 from cachedout/zypper_typo

Fix typo
Switch to native file.file
Use environ.get
Use native file.write