Add -Werror=declaration-after-statement to CFLAGS for gcc/clang

Also, use AX_CFLAGS_WARN_ALL (and similarly implement AX_CFLAGS_WARN_EXTRA)
rather than blindly adding these flags regardless of whether or not they are
supported.

These will help avoid checking in code which breaks when building
under typical C conditions (declaration-after-statement is a pedantic
error prior to C99)