BLAKE2b with salt and personal support

This adds support for calling BLAKE2b with `salt` and `personal`.

I would have added tree hashing modes, but upstream (libsodium) does not support them.