Apply diff2.txt from SF patch http://www.python.org/sf/572113
(with one small bugfix in bgen/bgen/scantools.py)

This replaces string module functions with string methods
for the stuff in the Tools directory. Several uses of
string.letters etc. are still remaining.
diff --git a/Tools/unicode/makeunicodedata.py b/Tools/unicode/makeunicodedata.py
index 0eeb335..a18e548 100644
--- a/Tools/unicode/makeunicodedata.py
+++ b/Tools/unicode/makeunicodedata.py
@@ -100,7 +100,7 @@
         record = unicode.table[char]
         if record:
             if record[5]:
-                decomp = string.split(record[5])
+                decomp = record[5].split()
                 # prefix
                 if decomp[0][0] == "<":
                     prefix = decomp.pop(0)
@@ -362,7 +362,7 @@
         # indicates the last character in an entire string)
         ww = w[:-1] + chr(ord(w[-1])+128)
         # reuse string tails, when possible
-        o = string.find(lexicon, ww)
+        o = lexicon.find(ww)
         if o < 0:
             o = offset
             lexicon = lexicon + ww
@@ -442,7 +442,7 @@
 
 # load a unicode-data file from disk
 
-import string, sys
+import sys
 
 class UnicodeData:
 
@@ -453,8 +453,8 @@
             s = file.readline()
             if not s:
                 break
-            s = string.split(string.strip(s), ";")
-            char = string.atoi(s[0], 16)
+            s = s.strip().split(";")
+            char = int(s[0], 16)
             table[char] = s
 
         # expand first-last ranges (ignore surrogates and private use)
@@ -490,7 +490,7 @@
 
 def myhash(s, magic):
     h = 0
-    for c in map(ord, string.upper(s)):
+    for c in map(ord, s.upper()):
         h = (h * magic) + c
         ix = h & 0xff000000
         if ix:
@@ -598,7 +598,7 @@
                     s = "    " + i
                 else:
                     s = s + i
-            if string.strip(s):
+            if s.strip():
                 file.write(s + "\n")
         file.write("};\n\n")