Redmine #6171: Improve acceptance test speed on Windows.

Run the entire test suite under one single GAINROOT umbrella, instead
of launching it for each test. This dramatically improves the testing
speed on Windows.
Ah - I see now; the `$0` is testall being invoked with the same command-line but in an adjusted environment.  So testall writes runtest.sh and invokes it; runtests.sh invokes testall; and your protection against recursion seems like a smart idea ;^>