Use a rewriten makeDexElement on V 14 to 18

On those versions DexPathList.makeDexElement is hiding problems by
logging (or just ignoring) IOException instead of throwing them.

This change includes in the library a version of makeDexElement simplified
to support only the case concerning the zip files for the extracted
secondary dexes.

Bug: 71989458 28832787
Test: MultiDexLegacyTestServicesTests2
Change-Id: I7532908eda8fcd123433222856752c2086a9ad3a
diff --git a/library/src/android/support/multidex/MultiDexExtractor.java b/library/src/android/support/multidex/MultiDexExtractor.java
index ed3c125..f0fd6d4 100644
--- a/library/src/android/support/multidex/MultiDexExtractor.java
+++ b/library/src/android/support/multidex/MultiDexExtractor.java
@@ -63,10 +63,10 @@
      * {@code classes3.dex}, etc.
      */
     private static final String DEX_PREFIX = "classes";
-    private static final String DEX_SUFFIX = ".dex";
+    static final String DEX_SUFFIX = ".dex";
 
     private static final String EXTRACTED_NAME_EXT = ".classes";
-    private static final String EXTRACTED_SUFFIX = ".zip";
+    static final String EXTRACTED_SUFFIX = ".zip";
     private static final int MAX_EXTRACT_ATTEMPTS = 3;
 
     private static final String PREFS_FILE = "multidex.version";