test/support.py: remove TESTFN if it is a directory

Because of my previous commit (r81171), test_os failed without removing TESTFN
directory (shutil.rmtree() was broken). Some buildbots still have a @test
directory and some tests fail because of that.

The bug is reproductible with:

  mkdir @test
  touch @test/abc
  ./python Lib/test/regrtest.py test_site
diff --git a/Lib/test/support.py b/Lib/test/support.py
index 08828a8..e3a3b38 100644
--- a/Lib/test/support.py
+++ b/Lib/test/support.py
@@ -365,6 +365,10 @@
                   'Unicode filename tests may not be effective'
                   % TESTFN_UNICODE_UNENCODEABLE)
 
+if os.path.isdir(TESTFN):
+    # a test failed (eg. test_os) without removing TESTFN directory
+    shutil.rmtree(TESTFN)
+
 # Make sure we can write to TESTFN, try in /tmp if we can't
 fp = None
 try: