(PUP-2647) Report when password is changed

Previously, if Puppet changed the user's password, it would always
report that the password was created, instead of changed. This was because
the provider's `password` getter method returned :absent when the current
password didn't match the desired value.

This commit changes the windows user provider to return nil if the
passwords don't match. This will cause puppet to sync the passwords
and correctly report that the password was changed.