Validates that shell property exists and is executable for the useradd provider, adds manages_shell feature, includes tests

ignore the ignore