Refactor SoftApCallback for improved testability

This commit refactors the `SoftApCallback` within
`CtsTetheringUtils` to leverage `TestableCallback`.

Previously, `StopSoftApCallback` used a `ConditionVariable` to
signal completion. This change introduces `TestSoftApCallback`
which extends `TestableCallback` and captures all
`SoftApCallback` events (state changes, client changes, info
changes) into a history.

This refactoring allows for more robust and flexible testing of
Soft AP states and events. This makes the tests less reliant on
simple boolean conditions and more capable of verifying event
sequences.

Bug: 417369055
Test: atest CtsConnectivityMultiDevicesTestCases
Flag: EXEMPT bug fix
Change-Id: I047737b09dbb9d3fd2c528f701346788e42fe5b4
2 files changed