From Pike 7.5 pw and salt are binary strings, so
the result is different if any of these includes "\0".
The return type is also changed from string to int|string. If
the second argument is a hash, pw will be hashed with the
salt from the hash and compared with the hash.