Added unzipping via zipfile module

- Add unzipping and zipping to windows
- Falls back to using previous command based unzipping if zipfile module isn't found
- Added the ability to unload functions that are dependent on a module but also have an entry in __func__alias__
Add job cache and events to ssh.run_iter
Clarify ssh.run docstring
Add publish._publish function to do the actual work
Add publish.publish wrapper func for salt-ssh
Add publish.full_data wrapper function for salt-ssh
Fix typo
FIX salt-cloud map create inconsistent result with multi instances having the same name
Still needs some refactoring as this solution is very corralated with ec2 provider
Merge branch 'develop' of https://github.com/MrCitron/salt into develop
Merge branch 'develop' of https://github.com/saltstack/salt into develop
Revert "FIX salt-cloud map create inconsistent result with multi instances having the same name"

This reverts commit c55ccc4be4dc54f0346b0e36c1f9ddc84a2265b7.
Put the master_opts in the wfunc opts
Add the ability to filter the map file with salt-cloud
Fix lint issues
created support from from module import object as alias in pyobjects renderer
Make /etc/salt-master usefull

Add environment variable to have a custom CONFIG_DIR
Ensure aptpkg._consolidate_repo strips trailing slashes from repo_uri

This fixes #18909
Merge pull request #18908 from Unity-Technologies/win-add-unzip

Added unzipping via zipfile module
pyobjects parenthesis fix
Don't blow up grains

checking the motherboard info was blowing up the minion if no
motherboard info was available