Fix for broken salt cmd return codes - issue #7013

- new test related states that can be used to provide success / failure on request.
- fixed the broken logic chain that handles return codes
both when the minion decides what retcode to propagate to the master
and when the master decides what return code to return to the invoked salt cmd
- added new log.debug and log.trace statements to assist with further work on ensuring return
codes are properly handled by all components of salt.
fixing syntax error.
another syntax fix
Fixing W0632(unbalanced-tuple-unpacking) pylint violation
Fixes

- Fixed bad logic in data handling block.
- Fixed and refactored the test state to be
 more complete and in line with coding standards.
Pylint fixes

- Added newlines to fix E8302(expected-2-blank-lines,-found-0)
- Disabled pylint checks for E8712(comparison-to-True-should-be-'if-cond-is-True:'-or-'if-cond:') and documented my reason
Fixing E8261(at-least-two-spaces-before-inline-comment)
Trying to fix integration test failing on a missing file so CI actually runs on my PR.
Fixes & Updates

- fixed pep8 issue
- added more logic to check_state_result logic to handle list results properly and return false.
- ordered the check_state_result unit tests more logically. All the data type tests are now before the content & logic handling checks
- discovered duplicate test in check_state_result unit tests and removed it, both tests were asserting using the same data {'host': []}
yumpkg now supports the 'disableexcludes' option for the methods check_db, install, latest_version, and list_upgrades
Only assign env as the saltenv if it is a string
Only assign `env` to `__env__` if it's a string
Fix how OS env params are handled in cmd module
Fix handling of env param in cmd states

No need to check if "env" is a string, the state compiler takes care of
that. Also, the cmd.run state is doing some input munging and that is
not the type of thing that should be done in states, it should be done
exclusively in the cmd execution module.

For passing of OS environment params, this commit also simplifies the
type checking for "env", returning a False result if anything but a list
or dict was passed.
improve error message
Change dict structure for consistency
Use __env__ instead of kwargs['saltenv'] in error
Don't pass __env__ to cmd.script func

This is deprecated, saltenv is what should be used here.
Please enjoy these lint fixes.
LDAP group support for eauth.