When debugging is enabled, replace the ctype functions with
macros that index into arrays. This allows the compiler to
catch use of char, instead of unsigned char, arguments to
those functions. gcc uses -Wchar-subscripts, which is enabled
with the -Wall that we use by default. Thanks to Tom Lane for
suggesting this approach.
This feature can be enabled by undef'ing NDEBUG in config.h.
configure --enable-debug does that. We can now use the same
mechanism to enable and disable assert(3), too.