Hashing api should return negative values for errors

In crypto.c, the hashing API currently returns 1 for error, 0 on success. Specifically in: crypto_digest, crypto_digest256, and crypto_digest512.

This is often misinterpreted in calling functions. For example, crypto_pk_get_digest and crypto_pk_private_sign_digest both incorrectly assume negative error return values.

The fix for this should refactor to return -1 on error, and change calling functions that currently expect 1 on error, such as crypto_expand_key_material_TAP and crypto_pk_get_hashed_fingerprint.