Standards.X509.TBSCertificate: Added some more entries.

Adds direct access to validity and keyinfo.
Standards.X509.TBSCertificate: Some bugfixes.

Fixed clearing of extensions state when reducing version from 3.

Now supports reducing version from 3 to 2.

Fixed some state handling when parsing version 2 fields.
block_allocator: do not execute empty loop
Backend: fix a transposition that clang catches.
Standards.X509: make_tbs() now returns a TBSCertificate.

This provides a somewhat nicer API.
Standards.ASN1.Types: Protect create().
Standards.X509: Return TBSCertificate objects from make_tbs().

FIXME: Note that this patch also moves the function to after the
definition of the TBSCertificate class to work around a compiler bug.
Compile: fix a few warnings reported by clang.
Moved the actual setting up and testing of an SSL connection to a separate function.
Allow the server to have more than one cipher suite, so that suite selection can be tested (although not tested yet). Added explicitly destructs of client and server, which appears to be needed.
Cleaned up the internal test API.
Fix autodoc representation of type(0..) and type(0..0)
Fixed fixme: Test all the supported ECC curves.
Standards.ASN1.Decode: Added more control to simple_der_decode().

It is now simple to add a few more known types to parse to
simple_der_decode(). This is typically useful when the ASN.1
definition uses IMPLICIT tags.
Standards.X509.TBSCertificate: Support {issuer,subject}_id.

The optional fields issuerUniqueID and subjectUniqueID from X509v2
now seem to encode and decode properly.
Backend: first step toward making low_backend_once_setup re-entrant, for CFRunLoop
Configure: Make sure to select ABI where required.

The configure cache being disabled causes the pike_cv_abi_suffixes
variable to no longer be propagated by the top-level configure script.
New cpp directive #require defines the dependencies for a module.
Simplified dependencies.
Simplified dependencies.