libcore: Remove native calls in FileDescriptor <clinit>

Moves cloning of FileDescriptor in, out, and err descriptors
into a ZygoteHook. This avoids the need to run JNI methods
in FileDescriptor.<clinit> and enables native Core Platform
API checking of FileDescriptor descriptor and ownerId fields.

Bug: 144502743
Bug: 150680645
Test: art/test/run-test --host 001-HelloWorld
Test: art/tools/run-libcore-tests.sh --mode=host --variant=X64
Test: atest -s <serial> -c CtsLibcoreTestCases:libcore.java.io.FileDescriptorTest
Change-Id: I7c65da7555fa041a1e156f93049c8eb3aee2a2f9
Merged-In: I7c65da7555fa041a1e156f93049c8eb3aee2a2f9
(cherry picked from commit 6d0c244d2e7672b09e2417d91160675ee26c9c8a)
3 files changed