Add salt.utils.traverse_dict_and_list()

Add salt.utils.traverse_dict_and_list() and use it in modules.pillar.get() and modules.grains.get()
psql should never prompt for a password

No matter if we have been given a password or not, it never makes sense
for psql to interactively prompt for a password. It's better to fail
immediately than to hang because psql is waiting for input that will
never happen.
* fix pylint errors
* use traverse_dict_and_list() in modules.config
+ add test_traverse_dict_and_list
+ use traverse_dict_and_list() in more get routines
Merge pull request #13446 from anylain/add_traverse_dict_and_list

Add salt.utils.traverse_dict_and_list()
Merge pull request #13433 from ahammond/psql_nopassword

psql should never prompt for a password
Revert "Cache the salt client"

This reverts commit b4786b0d8c58bfbf73ff9ee1f1af68b84a489bc6.
Merge pull request #13461 from s0undt3ch/develop

Revert "Cache the salt client"
Revert "detect the right transport for the client in tests"

This reverts commit d33b01d6355b6e7c7339c07d7d8f36ffedabb018.
Lay down computed configuration and use that source for all of the tests
Don't remove the root_dir, the tests suite takes care of that
Call `verify_env` on `transplant_configs`
Remove stray print and commented out entries
Store evaluated configs as `cls` attributes
Remove unused imports
Use `SaltClientTestCaseMixIn` instead
Tempdir under `integration.SYS_TMP_DIR` and use `AdaptedConfigurationTestCaseMixIn`
Leave any cleanup for the end