local changes for HE
Merge remote branch 'upstream/develop' into develop

fixed config.py

Conflicts:
	salt/config.py
Merge remote branch 'upstream/develop' into develop
Merge remote branch 'upstream/develop' into develop
added minion_denied to pki-structure to easily find denied minions
Reimplemented 'latest_version()' to fix #12663 and make it more readable + better debug-able.
Update to tomcat.py

-Added "force" (default false) option commensurate with force option in salt.modules.tomcat.deploy_war to allow forced deployment of a .war even if the version strings match.  
-Forced successful deploy comment to be a string instead of dict to compensate for https://github.com/saltstack/salt/issues/12840
Update tomcat.py
file.directory: fix cleaning directory symlinks

With a file.directory state, using the 'clean' directive, some symlinks
could not be removed, raising exception:
  OSError: Cannot call rmtree on a symbolic link

The reason is that valid symlinks for directories are returned
by 'os.walk' as directories.

This commit checks if directories are, in fact, symlinks, and treats them
as simple files.
Fix traceback due to unavailable module

The class defined in this state references a module that is not
installed. This commit moves the class definition with the try/except
where the deps it requires are loaded.
Document the options not allowed in the
Document the options that should not be used in the tar_options
parameter. Let the command tar to fail if the user dosn't use the right
options like --file, -a, -x, etc.

It doesn't worth the effort to put a logic to detect forbidden options
in the module.

The current code of removing 'f' breaks long options that have 'f', like
--transform.
Added support for pyenv.
disable confusing [ERROR] printing on retcode!=0 where not relevant
Properly use try-finally for file handle management
Fix indentation of class
Don't stacktrace if we can't write a job cache.

Closes #12978
lint fixes
Optimize sync_all

This commit stores the environments read by reading the top file in
__context__ so that the top file does not need to be read once for each
sync doing in salt.modules.saltutil.sync_all().
Sync custom types before executing highstate