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.
Move ssh_username() to salt.utils.cloud.ssh_usernames()
Merge pull request #11422 from terminalmage/env-param-fix

Fix for "env" param in cmd state/module
Remove unused imports
Remove unused imports
Tidy up ssh_username
`JSONDecoder` raises `ValueError` on bad JSON data.
Merge pull request #11442 from s0undt3ch/develop

Lint Fixes
Lint fixing
Merge pull request #11438 from techhat/cloud

Move ssh_username() to salt.utils.cloud.ssh_usernames()
doc(file/state): grammar fix
doc(file/state): clarify it doesn't just "verify"
Merge pull request #11444 from JensRantil/improve-file-delete-state

Documentation: Improve file.absent state