Fix libscrypt_mcf return value check in libscrypt_hash

libscrypt_mcf returns 0 on failure, not -1

If you try to pass NULL as dst to libscrypt_hash you'll get 1 (success) as a return value, because it interprets the return value 0 from libscrypt_mcf wrong.

Better would be to unify all functions to use the same convention, but that would break API.