Keep the autoconf cache directory after autogen

My new standard is to keep the cache rather than forcibly deleting
it on every run.
Fix the harness/multiple test under valgrind

When running under valgrind, all the timing and resource usage
results may not be completely zero, so we still need the code to
massage those results for comparison purposes.
Add a new test_cleanup_register C API

Add new test_cleanup_register API to the basic C TAP library.  This
registers a C callback function that's called during exit from the
test and passed in a boolean argument indicating whether the test
succeeded or failed.
Add warn_unused_result attributes

Add warn_unused_result gcc attributes to the C TAP library functions
where ignoring the return value is almost certainly a bug (such as all
the malloc functions).
Add portability for warn_unsed_result attributes to tap/macros.h
Add documentation for test_cleanup_register
Move SEE ALSO to last in the documentation

This is the recommended ordering in perlpodstyle, and since there's
a standard, I may as well stick with it.
Minor coding style fix (spacing) in runtests.c
Add TODO entry to fix the cleanup function bug with bail
Add TODO entry for registering a log file of diag output