libbinder: add log for dropped extension

In the NDK/Rust backend, it's pretty easy to create a binder, attach
an extension to it, and then immediately destroy that binder.

Here, I add a log when this happens and add a unit test for BBinder
which triggers this path (it's never expected to be hit in practice
since binders aren't created without being sent).

Bug: N/A
Test: binderUnitTests
Change-Id: Id2b51396b027530e3fad767f698a3b2cecbfa98d
diff --git a/libs/binder/tests/binderBinderUnitTest.cpp b/libs/binder/tests/binderBinderUnitTest.cpp
index 1be0c59..ce2770f 100644
--- a/libs/binder/tests/binderBinderUnitTest.cpp
+++ b/libs/binder/tests/binderBinderUnitTest.cpp
@@ -41,3 +41,10 @@
     EXPECT_EQ(kObject1, binder->detachObject(kObjectId1));
     EXPECT_EQ(nullptr, binder->attachObject(kObjectId1, kObject2, nullptr, nullptr));
 }
+
+TEST(Binder, AttachExtension) {
+    auto binder = sp<BBinder>::make();
+    auto ext = sp<BBinder>::make();
+    binder->setExtension(ext);
+    EXPECT_EQ(ext, binder->getExtension());
+}