Add test for arguments with dashes in the arg name
Include more information in test docstrings

This adds additional information that describes the relevant code being
tested, so that if there is a problem it is easier to trace it back to
where the problem lies.
Add a test case to check for proper env selection when passing `?env=foo`. Refs #8196.
Correctly trigger the issue reported on #8196.
Forgot to add the top file.
Add required state file.
Log the env in use.
Set the proper `__env__` as a function global when calling the state function. Fixes #8196.

To achieve this we're making use of python's `with` context managers.
Initially we check if the user is passing `env` from his state definition. If he his, then that's the `env` to use for as long as the state function is being executed. Passing `env` is also being deprecated, the users should use the more meaningful and unique `__env_`.
If the user passed `__env__` in his state definition, that's the `env` to use, or, if no specific environment is being selected on the users state definition, then the default one, `base` is what will be used.

This change makes it so that **any state module function** does not have to accept `__env__` as a keyword argument.
Accepting `__env__` as a keyword argument is no longer required or aceptable
Accepting `__env__` as a keyword argument is no longer required or aceptable
Accepting `__env__` as a keyword argument is no longer required or aceptable
Accepting `__env__` as a keyword argument is no longer required or aceptable
Deprecated `env` as a keyword argument since `__env__` is now available within the function's global scope.
Deprecated `env` as a keyword argument since `__env__` is now available within the function's global scope.
Accepting `__env__` as a keyword argument is no longer required or aceptable
Updated test cases to include environment selection in states using `__env__`.
Include the `holy` directory for the `__env__` selection test cases.
State unit tests need to have an hardcoded `__env__`.
Withing the module, `__env__` is known.
The salt `pip` module no longer accepts `__env__` as `kwargs`.

It simply knows that from it's global scope.