Add support for bionic fd ownership enforcement.

Add APIs to support the use of bionic's file descriptor ownership
enforcement with java.io.FileDescriptor.

This commit also changes behavior in two ways:
  - IoBridge.closeAndSignalBlockedThreads can now throw if close fails.
      bionic hides EINTR in its close wrapper, so this should only make
      a difference if we fail with EIO (with behavior matching the
      reference implementation).
  - IoUtils.close will always signal blocked threads.

Bug: http://b/110100358
Test: treehugger
Change-Id: Ib2a77cf07ad1283911279df03c6de3f6726181a4
10 files changed