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