doc: use ASCII in .texi files where UTF-8 isn't needed

* doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi:
* doc/posix-functions/setkey.texi, doc/regex.texi:
Use ASCII input, not UTF-8.
maint.mk: adapt openat.h-include-without-use test

* top/maint.mk (sc_prohibit_openat_without_use): Also check for
FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
failing on gnulib's own lib/{chmod,chown,stat}at.c files.
With this change, running "make sc_maint" in gnulib's top-level
directory now passes for me.
freadable, fwritable, fwriting: declare with the "pure" attribute

* lib/freadable.h (freadable): Declare with the "pure" attribute.
* lib/fwritable.h (fwritable): Likewise.
* lib/fwriting.h (fwriting): Likewise.
Suggested by Bruno Haible.
maint: add a gnulib-local rule to keep non-ascii out of .texi files

* cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule,
so that "make sc_maint" will ding anyone who puts non-ascii
in any of gnulib's .texi files.
include_next: port to autoconf 2.63

On RHEL 6.4 (using autoconf 2.63), './gnulib-tool --test math'
fails with the following, since commit 74540d44:
executing autoconf
configure:5693: error: possibly undefined macro: AS_VAR_COPY
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.

Since we document that we support out-of-the-box use with autoconf
2.59 and later, the fix is to provide a fallback definition.

* m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing.

Signed-off-by: Eric Blake <eblake@redhat.com>
md5, sha1, sha256, sha512: support older autoconf

On RHEL 6 (using autoconf 2.63), './gnulib-tool --test crypto/md5'
fails with this, ever since commit 3386f398:

executing aclocal -I glm4
glm4/gl-openssl.m4:11: error: m4_defn: undefined macro: _m4_divert_diversion
glm4/gl-openssl.m4:11: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
aclocal: autom4te failed with exit status: 1

Autoconf 2.63b introduced some bug fixes to m4_divert*, including
the ability to use the diversion stack prior to calling m4_init;
and aclocal happens to be a use of autom4te where m4_init was
not invoked prior to the expansion of gl_CRYPTO_CHECK.  The fix
is to copy the trick used in newer autoconf - wrap the entire
execution of autom4te inside one more layer of diversion stack,
where _m4_divert_diversion being defined serves as a nice witness
of whether we are already wrapped.  This workaround has to live
in 00gnulib.m4 in order to come prior to any other m4 file that
might be included by virtue of gnulib.

Then, with my first attempt applied, I still got failures on
RHEL 5 (using autoconf 2.59); it turns out that without the
guaranteed-FIFO behavior of m4_wrap added in 2.62 and newer,
places that _do_ use m4_init got confused if our wrapper pops
its state in an m4_wrap that happens in LIFO order.  It took
some experimenting to find a formula that guarantees we undo
the wrap at the correct moment before the m4_init warning
message can chew us out about an unabalanced diversion stack.

* m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack
on older autoconf.
Reported off-list by Pavel Hrdina.

Signed-off-by: Eric Blake <eblake@redhat.com>