(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.