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/idle/ParenMatch.py b/Tools/idle/ParenMatch.py
index 17d76c2..1be60c0 100644
--- a/Tools/idle/ParenMatch.py
+++ b/Tools/idle/ParenMatch.py
@@ -10,8 +10,6 @@
 extensions what to capture the same event.
 """
 
-import string
-
 import PyParse
 from AutoIndent import AutoIndent, index2line
 from IdleConf import idleconf
@@ -177,10 +175,10 @@
         if i is None \
            or keysym_type(buf[i]) != right_keysym_type:
             return None
-        lines_back = string.count(buf[i:], "\n") - 1
+        lines_back = buf[i:].count("\n") - 1
         # subtract one for the "\n" added to please the parser
         upto_open = buf[:i]
-        j = string.rfind(upto_open, "\n") + 1 # offset of column 0 of line
+        j = upto_open.rfind("\n") + 1 # offset of column 0 of line
         offset = i - j
         return "%d.%d" % (lno - lines_back, offset)