Blake2b API improvements

* Don't allow explicit empty strings as keys
* Inform why a key was rejected (too short vs too long)
* Inform why a digest size was rejected (too short vs too long)