Fix subscription indexing to be binder-based instead of interface-based.

Subscribers were being index by IVmsSubscriberClient interface, which is
a wrapper class that does not express client equality. As a result,
removeDeadSubscriber was not actually removing subscribers when client
death was detected.

Other changes in this CL:
- Extensive unit testing added for all VmsRouting operations.
- VmsSubscriptionState sequence number only incremented on state changes.
- Unused HalSubscription methods removed.
- Subscription state sent to publishers on subscriber removal.

Bug: 130437477
Test: CarServiceUnitTest:VmsRoutingTest updated
Test: atest AndroidCarApiTest CarServiceTest CarServiceUnitTest
Change-Id: I7c0c4aa61e3bb3029fb7f3b727abca3f8545dd11
3 files changed