SF #841977 - modulefinder fails to find extension modules in packages

The find_all_submodules() method in modulefinder only
looks for *.py, *.pyc, and *.pyo files.  Python
extension modules are only found if they are referenced
in import statements somewhere.

This patch uses the actual list from imp.get_suffixes().

Backported myself.
diff --git a/Lib/modulefinder.py b/Lib/modulefinder.py
index be59f97..6dec0e5 100644
--- a/Lib/modulefinder.py
+++ b/Lib/modulefinder.py
@@ -210,7 +210,12 @@
         if not m.__path__:
             return
         modules = {}
-        suffixes = [".py", ".pyc", ".pyo"]
+        # 'suffixes' used to be a list hardcoded to [".py", ".pyc", ".pyo"].
+        # But we must also collect Python extension modules - although
+        # we cannot separate normal dlls from Python extensions.
+        suffixes = []
+        for triple in imp.get_suffixes():
+            suffixes.append(triple[0])
         for dir in m.__path__:
             try:
                 names = os.listdir(dir)