Add blake2b as a digest and mac

This is closely based on the public domain reference implementation: https://blake2.net/blake2_code_20140114.zip
It looks like you copied my original implementation of `write_u64v_be`. Unfortunately, I think you inherited my bug - on platforms that don't support unaligned access to memory (eg: ARM), I believe this could run into issues since there is no guarantee that `input` or `dst` is correctly aligned to be accessed as a `u64`.