Fix a bug where `PjRtStreamExecutorBuffer::CopyRawToHostFuture` causes a crash in GPUs
Fix a bug where `PjRtStreamExecutorBuffer::CopyRawToHostFuture` causes a crash in GPUs

The current implementation of `PjRtStreamExecutorBuffer::CopyRawToHostFuture` calls `CopyRawToHost()` inside the `dst` future's OnReady callback. Since `PjRtFuture` invokes the callbacks inline in the context where the corresponding promise is set, this becomes a problem when the `dst` is fulfilled in the context of device buffer ready events, e.g., `stream_executor::gpu::GpuExecutor::InternalHostCallback()`.

This CL fixes the aforementioned issue by adding a trampoline thread before calling `CopyRawToHost()`, thus ensuring that `CopyRawToHost()` is called outside any callback context. The added test in `se_gpu_pjrt_client_test.cc` fails without this trampoline.
