Add mac user/group modules

Initial in-progress commits of mac-specific user/group modules.
add contains_whitespace

A simple utility function that returns True if the string passed to it
contains whitespace.
finish mac user/group support
Change user states to accommodate MacOS

This commit makes a couple tweaks to the user states to make them work
with the new MacOS support. It also fixes a few edge-case bugs that were
encountered while troubleshooting.
Merge pull request #7194 from terminalmage/mac-user-group-management

Initial Mac user/group management