Checkpoint.  Manipulated things so that string literals are always
unicode, and a few other compensating changes, e.g. str <- unicode,
chr <- unichr, and repr() of a unicode string no longer starts
with 'u'.  Lots of unit tests are broken, but some basic things
work, in particular distutils works so the extensions can be built,
and test_builtin.py works.
diff --git a/Lib/distutils/dir_util.py b/Lib/distutils/dir_util.py
index 398f242..c6f014b 100644
--- a/Lib/distutils/dir_util.py
+++ b/Lib/distutils/dir_util.py
@@ -31,7 +31,7 @@
     global _path_created
 
     # Detect a common bug -- name is None
-    if not isinstance(name, StringTypes):
+    if not isinstance(name, basestring):
         raise DistutilsInternalError, \
               "mkpath: 'name' must be a string (got %r)" % (name,)