Fixing bulk reads in ByteArray.MyInputStream

This has never worked properly, but it didn't matter until recently
because neither the JDK's nor early Dalvik's DataInputStream was
exercising it. But in 2.0, Dalvik's DataInputStream prefers bulk
reads, which exercises this code when run on-device.

http://code.google.com/p/android/issues/detail?id=8115

The problem was that System.arraycopy call didn't include the start
offset in the call.
diff --git a/dx/src/com/android/dx/util/ByteArray.java b/dx/src/com/android/dx/util/ByteArray.java
index 6bd6e5f..79fa195 100644
--- a/dx/src/com/android/dx/util/ByteArray.java
+++ b/dx/src/com/android/dx/util/ByteArray.java
@@ -321,7 +321,7 @@
                 length = maxLength;
             }
 
-            System.arraycopy(bytes, cursor, arr, offset, length);
+            System.arraycopy(bytes, cursor + start, arr, offset, length);
             cursor += length;
             return length;
         }
@@ -341,15 +341,6 @@
         public boolean markSupported() {
             return true;
         }
-
-        /**
-         * Gets the current cursor.
-         * 
-         * @return {@code 0..size();} the cursor
-         */
-        public int getCursor() {
-            return cursor;
-        }
     }
 
     /**
@@ -366,14 +357,5 @@
 
             this.wrapped = wrapped;
         }
-
-        /**
-         * Gets the current cursor.
-         * 
-         * @return {@code 0..size();} the cursor
-         */
-        public int getCursor() {
-            return wrapped.getCursor();
-        }
     }
 }