Don't account buffer.arrayOffset() twice.

data[OUTPUT_OFFSET] from the perspective of native
code must always be the offset from the start of the
buffer passed in to it.

Change-Id: I4a5c9595aebd105c57ce2239dc95cf85d5bd6256
Implement equals and hashCode in ParameterizedTypeImpl

and GenericArrayTypeImpl.

Bug: 14590652
Bug: https://code.google.com/p/android/issues/detail?id=74060
Change-Id: Ib9a30b741a8d5f82d21f37ca8959bf5b2893f8db