Use install instead of installmissing if Chocolatey >= 0.9.8.24

X-ref: #13980

This also adds a chocolatey.chocolatey_version function and does some
DRY cleanup so that the error message and exception are raised in
_find_chocolatey() instead of in 6-8 different places.
Adding a check if the respective pkg.upgrade cmd fails.
Fixing lint issue in pkgpng.  Reverting changes in brew.py because of unit tests failures.
Fix typo in manpage: s/inetrfaces/interfaces/
Fix string prefix check
Allow custom grains to overwrite core grains
Rename boto tests files to include '_test' at the end
Move mock_ec2 decorator back to functions
Update event.fire_master_env docstring with sudo instructions
Add installation docs for Salt release candidate
Reword some things
Added wait_for_event function to saltmod

This allows the orchestrate system to watch the event bus for arbitrary
events.
Reduce unnecessary stats in minion cache

Refs #14645

Instead of doing two seperate FS operations to check for the existence
of a file and then open in, simply attempt the file open and continue if
it fails. Should save one stat per operation.

This is a relatively minor optimmization but in cases of a master with
many minions, could have noticeable performance improvements when
iterating over tens of thousands of files.
Add additional example for datetime YAML idiosyncrasy

Fixes #14860
Fix pillar mysql test formatting
Add no_mock/_reason and ensure_in_syspath
Add needs_daemon=False to run_tests
Added suport for -g. Allows emerge to use a binhost
Fix unicode output error on Windows salt-call

Fixes #14695
Fixed doc