Don't include blake2-config.h in module.

We include blake2.h, which already includes the config.
Don't include "structmember.h".

We don't need it.
Doc fixes.
Better handle bounds for arguments.

Now raise ValueError in more cases (for digest_size,
depth, fanout).

Restructure argument parsing for readability.

Add tests.

Also, rename Py2-3 compatibility macros.
Restructure module documentation, add tree figure.

Source for figure is in tree.odg created by LibreOffice Draw,
and exported as selection to PNG with with 500 px.