Fix handling of suppressed exception

On API 19 and 20, the library was trying to save "suppressed exceptions"
in the loader.dexElementsSuppressedExceptions but the field is not
there, it's in DexPathList, so the correct path is
loader.pathList.dexElementsSuppressedExceptions.

Bug: 28808797

(cherry picked from commit 74e66b8013b5b9002f67e53825c189a18597b1e8)

Change-Id: Ibd6e623d037a706a78c79eff47b17fe9a86fced2
diff --git a/library/src/android/support/multidex/MultiDex.java b/library/src/android/support/multidex/MultiDex.java
index 1e04c19..982bfbf 100644
--- a/library/src/android/support/multidex/MultiDex.java
+++ b/library/src/android/support/multidex/MultiDex.java
@@ -425,9 +425,9 @@
                     Log.w(TAG, "Exception in makeDexElement", e);
                 }
                 Field suppressedExceptionsField =
-                        findField(loader, "dexElementsSuppressedExceptions");
+                        findField(dexPathList, "dexElementsSuppressedExceptions");
                 IOException[] dexElementsSuppressedExceptions =
-                        (IOException[]) suppressedExceptionsField.get(loader);
+                        (IOException[]) suppressedExceptionsField.get(dexPathList);
 
                 if (dexElementsSuppressedExceptions == null) {
                     dexElementsSuppressedExceptions =
@@ -443,7 +443,7 @@
                     dexElementsSuppressedExceptions = combined;
                 }
 
-                suppressedExceptionsField.set(loader, dexElementsSuppressedExceptions);
+                suppressedExceptionsField.set(dexPathList, dexElementsSuppressedExceptions);
             }
         }