Unmap before resizing

While I was studying how MappedByteBuffer works, I saw a sharing runtime exception on Windows. I applied what I learned to generate a patch which uses an internal open JDK API to solve this problem.

---

Caused by: java.io.IOException: The requested operation cannot be performed
on a
 file with a user-mapped section open
        at java.io.RandomAccessFile.setLength(Native Method)
        at kafka.log.OffsetIndex.liftedTree2$1(OffsetIndex.scala:263)
        at kafka.log.OffsetIndex.resize(OffsetIndex.scala:262)
        at kafka.log.OffsetIndex.trimToValidSize(OffsetIndex.scala:247)
        at kafka.log.Log.rollToOffset(Log.scala:518)
        at kafka.log.Log.roll(Log.scala:502)
        at kafka.log.Log.maybeRoll(Log.scala:484)
        at kafka.log.Log.append(Log.scala:297)