Support IBinder array in the NDK/Rust backends.

IBinder[] in AIDL is mapped to
- vector<SpAIBinder> in NDK
- Vec<SpIBinder>, [&SpIBinder], Vec<Option<SpIBinder>> in Rust (according to the
position)

@nullable IBinder[] in AIDL is mapped to
- optional<vector<optional<SpAIBinder>>> in NDK
- Option<Vec<Option<SpIBinder>>>, Option<&[Option<SpIBinder>]> in Rust

Bug: 151817759
Test: aidl_integration_test, aidl_unittests, golden_test.sh check
Change-Id: I34d0afe9621a95ac9a06487915ee933cccb3d5ed
diff --git a/aidl_unittest.cpp b/aidl_unittest.cpp
index d0a7a64..5e0f473 100644
--- a/aidl_unittest.cpp
+++ b/aidl_unittest.cpp
@@ -4757,8 +4757,8 @@
     {"rust_StringArray", "Can only have one dimensional arrays."},
     {"cpp_IBinder", ""},
     {"java_IBinder", ""},
-    {"ndk_IBinder", "The ndk backend does not support array of IBinder"},
-    {"rust_IBinder", "The rust backend does not support array of IBinder"},
+    {"ndk_IBinder", ""},
+    {"rust_IBinder", ""},
     {"cpp_ParcelFileDescriptor", ""},
     {"java_ParcelFileDescriptor", ""},
     {"ndk_ParcelFileDescriptor", ""},