libbinder_ndk: ABBinder objects are tagged.

This allows us to always cast an object directly to the underlying
object rather than temporarily putting it behind a proxy. This also
simplifies the AIBinder_associateClass API greatly.

As a side-effect, this also fixes reading null parcelables from
binder buffers due to a previously missing check.

Bug: 111445392
Test: runtests.sh
Change-Id: I0c9a75132f9da35a2500b1e83f218b180b2dda36
6 files changed