tests: work around bug#7884 in many yacc/lex tests
Due to automake bug#7884, many test cases on Yacc/Lex support are
failing when run with FreeBSD make. Since these failures are all
due to the same bug, and that bug is well understood and already
explicitly exposed in the dedicated 'yacc-dist-nobuild.test' test,
the reported failures are mostly noise, that not only is annoying,
but which might end up covering different real bugs or regressions.
Thus we minimize such spurious failures, by ensuring the commands
triggering them (most of them being "make distcheck" invocations)
will be skipped when $MAKE suffers of the bug/limitation that
triggers automake bug#7884.
* tests/defs.in (useless_vpath_rebuild): New function.
(yl_distcheck): Likewise.
* tests/lex3.test, tests/subpkg-yacc.test, tests/yacc-basic.test,
tests/yacc-cxx.test, tests/yacc-d-basic.test, tests/yacc-d-cxx.test,
tests/yacc-dist-nobuild-subdir.test : Use them to avoid extra
failures caused by automake bug#7884. Where possible, throw in
some related simplifications.