Unit/regression test for TLS heartbeats.

Regression test against CVE-2014-0160 (Heartbleed).

More info: http://mike-bland.com/tags/heartbleed.html
Make it build/run.
More through error checks in set_up

Checks the return values of ssl_init_wbio_buffer() and ssl3_setup_buffers().
Zero-initialize heartbeat test write buffer

The previous calls to memset() were added to tear_down() when I noticed the
test spuriously failing in opt mode, with different results each time. This
appeared to be because the allocator zeros out memory in debug mode, but not
in opt mode. Since the heartbeat functions silently drop the request on error
without modifying the contents of the write buffer, whatever random contents
were in memory before being reallocated to the write buffer used in the test
would cause nondeterministic test failures in the Heartbleed regression cases.
Adding these calls allowed the test to pass in both debug and opt modes.

Ben Laurie notified me offline that the test was aborting in
debug-ben-debug-64-clang mode, configured with GitConfigure and built with
GitMake. Looking into this, I realized the first memset() call was zeroing out
a reference count used by SSL_free() that was checked in
debug-ben-debug-64-clang mode but not in the normal debug mode.

Removing the memset() calls from tear_down() and adding a memset() for the
write buffer in set_up() addresses the issue and allows the test to
successfully execute in debug, opt, and debug-ben-debug-64-clang modes.
Fixup for ancient compilers.
Merge branch 'mbland-heartbeat-test'
Fix a wrong parameter count ERR_add_error_data
Fix bug in signature algorithm copy.
Adding padding extension to trace code.
For portability use BUF_strndup instead of strndup.
Don't allocate more than is needed in BUF_strndup().
aesv8-armx.pl: optimize by adding 128-bit code paths.
aesv8-armx.pl: fix typo.
Change default cipher in smime app to des3.

PR#3357
Fix for PKCS12_create if no-rc2 specified.

Use triple DES for certificate encryption if no-rc2 is
specified.

PR#3357
Fixes to host checking.

Fixes to host checking wild card support and add support for
setting host checking flags when verifying a certificate
chain.
Implement BUF_strnlen() and use it instead of strlen().
Remove redundant test.
Fixed unterminated B tag, causing build to fail with newer pod2man versions
Fixed minor copy&paste error, and stray space causing rendering problem