Fix DirectByteBuffer#slice(index, len), ByteBufferAs*#compact(), slice(index, len)

- various ByteBufferAs*#put methods should throw ReadOnlyBufferException
if the buffer is read-only, but didn't.

The CL is a merge that imports the upstream regression tests.

Merge test.java.nio from jdk-17.0.6-ga into the aosp/main branch

List of files:
  ojluni/src/test/java/nio/Buffer/BulkPutBuffer.java
  ojluni/src/test/java/nio/Buffer/genBasic.sh
  ojluni/src/test/java/nio/Buffer/genCopyDirectMemory.sh
  ojluni/src/test/java/nio/Buffer/genOrder.sh
  ojluni/src/test/java/nio/MappedByteBuffer/ForceViews.java
  ojluni/src/test/java/nio/Buffer/Basic-X.java.template
  ojluni/src/test/java/nio/Buffer/CopyDirect-X-Memory.java.template
  ojluni/src/test/java/nio/Buffer/Order-X.java.template

Bug: 309121693
Bug: 269740550
Test: N/A
Change-Id: Ie9583f9e105a0a0905073f946175d3a957025b44