* lib/Automake/Variable.pm (_hash_varname, _hash_values): New functions.
(_gen_varname): Use _hash_values, and return a flag indicating whether
the variable name was generated or reused.
(transform_variable_recursively): Do not redefine variables that
are reused, and try to reuse the variable being transformed.
* tests/check2.test: Make sure TESTS hasn't been redefined.
* tests/check5.test, tests/exeext4.test: Make sure variables have
been reused.
* tests/subst2.test: Make sure bin_PROGRAMS gets rewritten.