Standards.BSON: test float handling
Image.PNG: check sBIT chunk length
Image.PNG: avoid leaking strings in case of errors
Image.PCX: actually perform byteswap
Runtime: Improved robustness of parent_storage().

Under some circumstances parent_storage() could return
a storage pointer to a class that had inherited the
parent program. Fix this by making sure that we get the
storage for the program that we expect to find as parent.
Nettle: Added some more program identifiers.
Nettle: Moved GCM to a Cipher submodule.

The various tastes of GCM now follow the AEAD API properly.

Crypto.GCM is no more, instead there are Crypto.AES.GCM,
Crypto.Camellia.GCM etc.

Also updates the SSL code accordingly.
Nettle.UMAC: Some of these constants now are available.

It helps to complain... :-)
Removed debug
Added _sprintf
Verify time-validity of CA certificates.
Move the certificate extension parsing into the TBSCertificate object. Not really a great API, but we need to start somewhere.
Handle the keyUsage properly. All 9 flags can now be extracted, and the BitString is now generated in its most compact form.
Future proofing.
Changed some allocations to xcalloc.
SSL.state: Consistency fixes.

SSL.state()->session was sometimes an SSL.connection and sometimes
an SSL.session. Change the name to connection, and have it always
be an SSL.connection.

SSL.state now creates its alerts via SSL.connection()->Alert(),
which in turn uses the alert_factory() in SSL.context.

Also adds descriptive messages to the alerts created in SSL.state.
verify_certificate_chain now stores all non-fatal errors.