Makes `dscl` usage service-agnostic

To accommodate systems managed by, e.g., Active Directory, check for
user in the search path.
Merge pull request #2124 from bak/fix_for_directory

Makes `dscl` usage service-agnostic when checking for user shell