Alaways show triggered deprecation warnings on the unit test.
Test the deprecated `runas` argument to `salt.modules.pip`.
`user` and `runas` now raise an exception. "There can be only one".

* Always show the deprecation message `runas` is not `None`.
* If both `user` and `runas` are used, that's an error! Full Stop!
* If `runas` is being used and `user` is not, adapt the code and don't fail.
Also deprecate `runas` on `salt.states.pip`.

* Added mock tests to check if the deprecation is triggered, and to see if the deprecation is also returned to the user in a warnings key.
Added test case to see if the usage of `user` and `runas` at the same time raises an exception.
Simplify `__virtual__` logic.
Merge pull request #6345 from s0undt3ch/hotfix/pip-tests

PIP module and state test cases, and minor improvments
Mocked test for `salt.modules.alternatives.display()`
Mocked test for `salt.modules.alternatives.show_current()`
Mocked test for `salt.modules.alternatives.check_installed()`
Mocked test for `salt.modules.alternatives.install()`
Mocked test for `salt.modules.alternatives.remove()`
Remove un-neded import.
Merge pull request #6347 from s0undt3ch/sprint/mock-salt.modules.alternatives

Mocked tests for `salt.modules.alternatives`
Formatting fixes to decorators utils module.
Remove needlessly complex logic
Added a `which` decorator to be used in functions which require a specific binary.
Merge pull request #6348 from KB1JWQ/Corey-fixloadaverage

Remove needlessly complex logic
One less TODO. Check for the existence of the binary before running the function.
Don't obfuscate the`zip` built-in.