RPC Binder: add protocol V2 - binder objects

This includes binder object locations in the transaction
protocol. Currently, these binder object locations are
not used for anything. However, they are needed in order
to switch RPC binder for acquiring resources as a Parcel
is unparceled to acquiring them all at the beginning.
So, this is preparation work for resolving those issues.

Test cases are also added, and RPC binder no longer
tests combinations of old versions. This ensures as we
grow the number of versions, we only test O(n) instead
of O(n**2) combinations, when we have 'n' versions.

I have opted out of adding an expiremental version,
as with trunk stable and the quarterly release schedule,
we need to freeze these very quickly. So, I'm
anticipating merging this together with the changes
that utilize this additional information. However,
based on the discussion, I may either switch to the
experimental version or remove exerimental versions
completely.

Bug: 234614894
Bug: 424526253
Test: binderRpcTest
Flag: RPC Protocol V2

Change-Id: I8e47c4e7f0524863d6a65c6532d0483de787f4a4
5 files changed