Support full feature set of BLAKE2b: salt, personalization, tree hashing mode

The outputs in examples have been verified by porting the example to
https://github.com/dchest/blake2b, and verifying that the output matches.
It seems the Blake2 reference itself does not contain sample data.

The C implementation has been extended with the function
blake2b_init_parametrized, as the existing API did not seem to expose
the functionality; blake2b_init_param was enough for tree mode et al,
yet the keying was only in blake2b_init_key, which hardcoded
parameters. See https://github.com/BLAKE2/BLAKE2/issues/8 for more.
Expose salt and personalization size

Calling code will often want to make buffers of these sizes.
Merge pull request #1 from tv42/issue-codahale-1

Expose personalization, salt, tree hashing