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/scripts/nm2def.py b/Tools/scripts/nm2def.py
index fc1022a..6887ee2 100755
--- a/Tools/scripts/nm2def.py
+++ b/Tools/scripts/nm2def.py
@@ -34,7 +34,7 @@
 option to produce this format (since it is the original v7 Unix format).
 
 """
-import os,re,string,sys
+import os,re,sys
 
 PYTHONLIB = 'libpython'+sys.version[:3]+'.a'
 PC_PYTHONLIB = 'Python'+sys.version[0]+sys.version[2]+'.dll'
@@ -43,12 +43,12 @@
 def symbols(lib=PYTHONLIB,types=('T','C','D')):
 
     lines = os.popen(NM % lib).readlines()
-    lines = map(string.strip,lines)
+    lines = [s.strip() for s in lines]
     symbols = {}
     for line in lines:
         if len(line) == 0 or ':' in line:
             continue
-        items = string.split(line)
+        items = line.split()
         if len(items) != 3:
             continue
         address, type, name = items
@@ -69,7 +69,7 @@
     data.sort()
     data.append('')
     code.sort()
-    return string.join(data,' DATA\n')+'\n'+string.join(code,'\n')
+    return ' DATA\n'.join(data)+'\n'+'\n'.join(code)
 
 # Definition file template
 DEF_TEMPLATE = """\