Image.PNG: correctly handle oFFs chunk and some more

The image offsets in oFFs chunks are allowed to be negative. This was
not correctly handled. Also add more checks to make sure pHYs and oFFs
chunks contain valid values.
Nettle/cipher.cmod: Don't define object storage within an #ifdef

precompile.pike apparently inserts the storage struct for a class at the
last PIKEVAR, which in the case of CipherBlock16 was inside an #ifdef.

Moved the PIKEVAR around so that Nettle/cipher.cmod also compiles on
systems without HAVE_NETTLE_GCM_H.
Backend: Improve robustness of reentrancy check.

The reentrancy protection was broken after the first detection.
Testsuite: Added some tests of HMAC-SHA1.

Adds a few of the HMAC-SHA1 tests from RFC 2202.

Also cleans up the HMAC-SHA2 tests to reduce the amount of code.