Introduce configurable dispatcher in SpaEnvironment

SPA components now use a default dispatcher provided by
`SpaEnvironment.defaultDispatcher`. This allows for easier
customization and testing. `RestrictedBaseSwitchPreference`,
`BroadcastReceiverFlow`, and `RestrictedSwitchPreferencePresenter`
have been updated to use this new dispatcher via `SpaDispatchers`.

Other changes:
- Make SpaIntent.KEY_DESTINATION public by removing @VisibleForTesting
- Update test target SDK to 36.
- Explicit ignore `trySend` return value in `BroadcastReceiverFlow`
  by assigning return value to unused.

Bug: 422439682
Flag: EXEMPT refactor
Test: unit tests still pase
Change-Id: Ifc97830b0d863454645707fe61e2e0720bbfb503
7 files changed