(PUP-1210) Error if missing password info on OSX 10.8

When managing passwords on OSX versions >= 10.8 the password needs to
hashed using PBKDF2. PBKDF2 uses a salt and a number of iterations,
which the puppet user type supports (specifically for this), and are
critical parts of the password storage. Many users seem to have been
tripped up by this change (since no other systems that are managed do
this, including older versions of OSX) and created user accounts that
were unable to be logged into.

This causes the provider to fail on >= 10.8 if any one or two of the
salt, iterations, or password are missing. This should provide better
guidance and error messages for users in this situation.
(PUP-1210) Provide clear guidance on OSX passwords

This tries to make clear what properties need to be used when managing
passwords on OS X >= 10.8, since it is very different from other
providers.
Merge pull request #2457 from zaphod42/issue/stable/pup-1210-invalid-passwords-set-on-osx

(PUP-1210) Error if missing password info on OSX 10.8