Fix permute.i test failure, and clean up build system and boolean detection
The cause of the bug was that "bool" referred to a different type in libick.a
and in compiled programs, which could be caused by, e.g., different compilers
(entirely plausible in cross-compiling) or a different header environment
(what actually happened was a missing config.h, as that isn't installed). The
fix used here was to change abcess.h from immutable to a generated file,
containing the boolean types actually used to build C-INTERCAL and requiring
their use for the eventually generated programs, preventing the type mismatch.
This fails if C-INTERCAL is built with a compiler that supports booleans, and
run with a $CC that doesn't, but at least it now fails noisly in that case
rather than silently, with nothing but a mysterious regression check failure
in permute.i.
As part of this, config.h was cleaned up; configuration #defines now
consistently use the values 1 or undef, rather than /**/ or undef sometimes,
and 1 or undef other times; this is needed to AC_SUBST the values into
abcess.h correctly, but is useful cleanup in any case.