use "sentinel" function attribute for variadic lists
This attribute can help gcc notice when callers forget to
add a NULL sentinel to the end of the function. This is our
first use of the sentinel attribute, but we shouldn't need
to #ifdef for other compilers, as __attribute__ is already a
no-op on non-gcc-compatible compilers.
Suggested-by: Bert Wesarg <redacted> More-Spots-Found-By: Matt Kraai <redacted> Signed-off-by: Jeff King <redacted> Signed-off-by: Junio C Hamano <redacted>