apt: replace aptitude with grep-available

This commit replaces the call to aptitude within list_pkgs with
grep-available, which dramatically speeds up virtual package detection.

This replaces the dependency on aptitude for virtual package detection
with a dependency on dctrl-tools.
Merge pull request #4625 from terminalmage/apt_optimization

apt: replace aptitude with grep-available
Merge pull request #4626 from s0undt3ch/develop

Improve logging logic in `salt/template.py`. Allow the test suite to set/handle more logging levels
Add revoke key method to master controller
Fix #4240

saltutil.revoke_key will allow a minion to revoke its own key on the master
Change name to revoke_auth for consistency

Ref #4240
Add user reporting to the job cache reports

This fixes #4301, basically we already log the originating user,
and have done so for about a year, we just did not allow for the
standard way of reading the log to print out the user
Add docstring to master_pub method
Fix #4287
Adding comments to try and keep people from "fixing" code
Check for OSError as well
Fix publish tests
Add id from originating minion if sent to the publish
Allow the event listener to work with the test sockets. And even for the minion's
`runas` needs root permissions.