Teach witness thunks to hop to the actor when needed (#59456)
* Teach witness thunks to hop to the actor when needed.
When a synchronous, actor-isolated declaration witnesses an
asynchronous, not-similarly-isolated requirement, emit an actor hop
within the witness thunk to ensure that we properly enter the context
of the actor.
Fixes #58517 / rdar://92881539.
(cherry picked from commit 25a79889828a775c1d257b8f155a6d17ddac2142)
* Enter actor isolation for a distributed witness via the distributed thunk
We cannot hop to a distributed actor directly, so call through the
distributed thunk instead.
(cherry picked from commit 840b7ea1ed48fbc9924e20acb85508f5e646be9e)