Replace NULLs in SHA-512 (not SHA-256) digest.

py-bcrypt is NULL terminated, so handing it SHA-512 digests that happen
to have a NULL byte in it fails with an exception.

The py-bcrypt author would not accept a patch to py-bcrypt to make it
treat the input as a byte array rather than a C string, based on the
argument that the current behaviour is consistent with OpenBSD bcrypt(3).

Whenever a py-bcrypt_pbkdf is implemented, that would be a better
choice. Until then it seems better to keep the SHA-512 but replace
all \0 bytes in the digest with another value (\1), rather than going
back to the implicit length limit of 72 characters with only bcrypt.