Fix GetDirectBufferAddress for DirectByteBuffer.

ART's GetDirectBufferAddress(java.nio.Buffer) implementation returns
the value stored in the Buffer.address field.
java.nio.DirectByteBuffer was not initializing this field correctly
when slicing buffers from non-zero position.

This change fixes the issue and adds tests. This change also removes
the TODO inside DirectByteBuffer.address() because it is now confirmed
that this method is supposed to return exactly the same value as
GetDirectBufferAddress.

Bug: 26233076
Change-Id: I6e7509d443c8cd8ae50eaf1e4ea42d1c04423883
4 files changed