GnuTLSExportCertificates should control maximum size of exported certs

The server administrator should be able to control the maximum size of
the exported certificate environment variables.  This will be done via
the existing GnuTLSExportCertificates environment variable.

This patch adds documentation of intended new feature and a test for
support.  The test currently fails because the feature is not
implemented.
implement GnuTLSExportCertificates control over max exported cert size

This patchset implements the proposed modification to
GnuTLSExportCertificates, allowing server administrators to choose the
maximum size of the exported certs.

Some advantages:

 * avoids large buffers on the stack
 * more configurable for server admins who expect to use larger certs
 * better visibilty for users when a too-large-cert is encountered

This also increases the default maximum exported size from 10KiB to
16KiB.
clean up MGS_SIDE abuse of apr_pstrcat

We were allocating twice as many sections of RAM when exporting
environment variables as we needed to (the names of each env var as
well as the content).

This change statically allocates the names of most of the environment
variables, reducing the number of function calls and dynamic
allocations at runtime.
Split bin2hex conversion into separate function
Initial rework of the caching infrastructure
Further code cleanup
Ignore rv when fetching a value from cache
Use new socache implementation when configuring the cache
Merge branch 'socache' into stapling

Conflicts:
	src/mod_gnutls.c
Remove old-fashioned identifiers for the cache mechanism we no longer need
Include a central function to get the cache identifier for OCSP responses bases on the certificate being checked
Introduce minimalistic wrappers to the OCSP caching interface
Change existing OCSP code to use the new socache-based interface to store responses
Make sure the Cache instance is mirrored over to each server that's trying to access it