Prevent user home dir creation on systems that try to enforce it.

Some systems (CentOS 6.4, for instance) have the default policy to
create the home directory whenever "useradd" is called. But we want
the home_bundle attribute to do this, so we need to prevent it.The
parameter to prevent this is "-M", but it is not available everywhere,
so we call useradd with the --help parameter first to see if it is in
the list of options.

Redmine #5781.
Fix incorrect function documentation.

getline() cannot return 0, but CfReadLine can, because it removes the
newline and the line can then be empty.
Redmine #5781: Do not require a TTY when running sudo in a test.

It will fail since our pipe execution is not a TTY.
Merge pull request #1706 from kacfengine/users_promises_fixes

Redmine #5781: Users promises fixes