Fix bug #570057: Broken pre.subn() (and pre.sub())

This should be backported to the 2.2.X series (how
do I do that?)
diff --git a/Lib/pre.py b/Lib/pre.py
index 504c7c6..8bbc100 100644
--- a/Lib/pre.py
+++ b/Lib/pre.py
@@ -367,10 +367,12 @@
         end = len(source)
 
         if type(repl) is type(''):
-            # See if repl contains group references
+            # See if repl contains group references (if it does,
+            # pcre_expand will attempt to call _Dummy.group, which
+            # results in a TypeError)
             try:
                 repl = pcre_expand(_Dummy, repl)
-            except error:
+            except (error, TypeError):
                 m = MatchObject(self, source, 0, end, [])
                 repl = lambda m, repl=repl, expand=pcre_expand: expand(m, repl)
             else: