Move out htpasswd functions into webutil module
Merge pull request #8124 from techhat/webutils

Move out htpasswd functions into webutil module
Add unit test for salt.utils.which

This is a Linux-only test, it will need some mock love to make it
suitable to test for windows paths.
Provide a mocked version the tests to reach windows specific code.
Add some comments to explain whats going on.