[2.7] bpo-31107: Fix copyreg mangled slot names calculation. (GH-2989). (#3004)

(cherry picked from commit c4c9866064f03646c686d7e08b00aeb203c35c19)
diff --git a/Lib/copy_reg.py b/Lib/copy_reg.py
index db17150..8943077 100644
--- a/Lib/copy_reg.py
+++ b/Lib/copy_reg.py
@@ -127,7 +127,11 @@
                         continue
                     # mangled names
                     elif name.startswith('__') and not name.endswith('__'):
-                        names.append('_%s%s' % (c.__name__, name))
+                        stripped = c.__name__.lstrip('_')
+                        if stripped:
+                            names.append('_%s%s' % (stripped, name))
+                        else:
+                            names.append(name)
                     else:
                         names.append(name)