AbstractMethodRemover: Don't remove more visible abstract methods

When running R8 on R8, AbstractMethodRemover would remove IndexedDexItem
.collectIndexedItems(IndexedItemCollection, DexMethod, int), which is an
abstract method that overrides the corresponding method on DexItem and
increases the visibility from package-private to public. This in turn
causes IllegalAccessError at runtime.

Change-Id: Ibded0725080dd78c902222b85cec17b83ef60038
diff --git a/src/test/examples/abstractmethodremoval/b/Impl2.java b/src/test/examples/abstractmethodremoval/b/Impl2.java
new file mode 100644
index 0000000..a92e2a1
--- /dev/null
+++ b/src/test/examples/abstractmethodremoval/b/Impl2.java
@@ -0,0 +1,13 @@
+// Copyright (c) 2018, the R8 project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+package abstractmethodremoval.b;
+
+import abstractmethodremoval.a.Public;
+
+public class Impl2 extends Public {
+  @Override
+  public void foo(int i) {
+    System.out.println("Impl2.foo(" + i + ")");
+  }
+}