Nettle: Support Camellia in the coming Nettle 3.0 too.

In the coming Nettle 3.0 the Camellia cipher has been splitted
into three sets of functions depending on the keylength. This
adds some glue to emulate the old API.
Nettle: Added Crypto.MAC and Crypto.AES.POLY1305.

Crypto.MAC is an API for MAC algorithms analogous to the ones
for hashes and ciphers.

Crypto.AES.POLY1305 is the POLY1305/AES MAC algorithm.
Renamed ChaCha to ChaCha20 to not confuse with ChaCha8 or ChaCha12.
Added feature check for ChaCha20
Fixed an old OID typo.
Verify that the reverse tables (somewhat).
Simplified the reverse table creation.
Nettle.DH_Params: Added C-code for Diffie-Hellman.

Crypto.DH.DHParams now uses Nettle.DH_Params if available.
I have no interest to debug deprecated and experimental cipher suites from unreleased version of SSL.
Verify that the root certificates can act as roots.
Only check system time once per chain verification.
Nettle.POLY1305_AES: Fixed some typos.

set_iv() should now work as intended...
SSL.Cipher: Use Crypto.DH for Diffie-Hellman KEX.

Now that Crypto.DH.DHParameters exists, there's no need for
a custom copy in SSL.Cipher.
Rename DHParameters to Parameters to avoid name redundancy.
ASN1 Identifiers can be compared directly. Remove some DER indirections.
Nettle.MAC: Typing changes.

Make it possible to skip the pike_* wrapper functions for *_set_key()
and *_set_nonce() where possible.

Also allows skipping the set_nonce() function altogether where not used.
Nettle: Added the UMAC suite of MACs.