Check integer overflows on memory allocation, fix string creation

Check for integer overflows on memory allocation.  All the possible
issues for this code are rather theoretical, but one may as well
strive for correctness.

Replace all uses of sprintf with a simpler string concatenation
function that checks for allocation overflow.  (The standards
assumptions for this package don't permit assuming asprintf or a
sufficiently non-broken snprintf to simulate asprintf.)
Switch POD spelling test to use Lancaster consensus variable

Use AUTHOR_TESTING instead of RRA_MAINTAINER_TESTS following the
convention I now use for other packages.
Add new bnrealloc API for brealloc with checked multiplication

Add new bnrealloc API that does the same as realloc but takes
calloc-style arguments to specify the size and checks internally for
integer overflow.
Rename nrealloc to reallocarray

The OpenBSD function we're emulating is called reallocarray, so
rename bnrealloc to breallocarray and xnrealloc (inside runtests)
to xreallocarray.  Change the documentation accordingly.

Add a simple test suite of the memory allocation functions that
just ensures they link properly and don't do anything insane.
Return the test status from test functions

ok, okv, and all is_* functions now return true if the test succeeds
and false if it fails, matching the return status of the corresponding
Perl Test::More functions.  This allows more succinct code when the
actions of a test program should vary based on the success or failure
of previous tests.  Based on a patch by Peter Pöschl.