Add stdin support for cmd module

This commit adds the ability to specify stdin for the command that you
are running. This allows for more secure running of commands which
require sensitive info be piped into them.
Normalize the 'pwd' field in shadow.info output

This makes this field match the corresponding field in user.info.
Normalize the 'pwd' field in shadow.info output

This makes this field match the corresponding field in user.info. This
also updates the docstring for set_password to be more descriptive.
add freebsd shadow module
add netbsd shadow module
Make shadow support work in FreeBSD, NetBSD

This commit uses the new shadow modules for FreeBSD and NetBSD, as well
as updates the logic to only support shadow support where it is
supported.
Update docstring to reflect updated shadow support
Slight tweak to _shadow_supported()

When this function was added, Solaris support was improperly defined.
This commit fixes that.
Merge pull request #5735 from terminalmage/issue3321

Make shadow support work in FreeBSD, NetBSD