Redmine #5819: Users promise fixes for Ubuntu 10.04

<pre>
commit fdeb76530c84ea7f8411ed24fe80b8575669acc7
Author: Kristian Amlie <kristian.amlie@cfengine.com>
Date:   Mon May 19 10:10:38 2014

    Redmine #5819: Fix /etc/shadow extra newline between each entry.
    
    getline() includes the newline in the returned string, so switch to
    CfReadLine() instead so we don't get a double newline between entries
    when we edit /etc/shadow.

commit 77521bebc950cc4ed77ad8bf800f445014a3c6d2
Author: Kristian Amlie <kristian.amlie@cfengine.com>
Date:   Mon May 19 10:12:56 2014

    Redmine #5819: Fix failing chpasswd execution on Ubuntu 10.04.
    
    Ubuntu 10.04 chpasswd doesn't support the '-e' option, so check for it
    before executing. We reuse the function that checks for '-M' and as
    part of this, the cached return value was removed. Slightly less
    efficient, but the function is only called if something changes, and
    you'd have to modify users in the thousands before it becomes a real
    problem.
</pre>