xvasprintf: Guarantee a non-NULL result. * lib/xvasprintf.h: Clarify the programmer's responsibilities. (xasprintf, xvasprintf): Declare as returning non-NULL. * lib/xvasprintf.c: Include <stdlib.h>. (xstrcat): Allow results longer than INT_MAX characters. Upon size overflow, invoke xalloc_die. (xvasprintf): Call vazsprintf instead of vasprintf. When some other error occurs, emit an error message and abort. * m4/strerrorname_np.m4 (gl_CHECK_STRERRORNAME_NP): New macro, extracted from gl_FUNC_STRERRORNAME_NP. (gl_FUNC_STRERRORNAME_NP): Invoke it. (gl_OPTIONAL_STRERRORNAME_NP): New macro. * m4/xvasprintf.m4 (gl_XVASPRINTF): Invoke gl_OPTIONAL_STRERRORNAME_NP. * modules/xvasprintf (Files): Add m4/strerrorname_np.m4. (Depends-on): Add extensions, vazsprintf. Remove vasprintf. * NEWS: Mention the change.