First attempt at caching the loaded configuration from the filesystem.

This basically should avoid loading and parsing YAML over and over again.
Handle more config filenames
The `syndic_config` call needs the path to the minion config file
Try caching the client too
Remove duplicate import
Allow getting the configuration from scratch.

Properly handle `client_config` when loading from cache.
Only delete the `_client` attribute if it has been set.
Remove the unnecessary `integration.ClientCase` class
Test the runner client under `tests/integration/clients`
Move tests away from `__init__`
Removed `--runner` because it's integrated in the client tests
Let's go wild and cache the local client as reusable a runtime global instance
Use the salttesting skip helpers
Don't add tests in `__init__`
The runtime client gets an unfreeze version of the configs
Load configs from scratch
Fix lint errors
New onchanges/onfail failure types for requisite resolver

Refs #16370
Don't yamlify args containing only digits and underscores

Fixes #16583.
Only skip yamlification if there's actually an underscore

This fixes test breakage.
fix absent key dir