Save/load request context when swift invokes method.

Summary: When the method being invoked returns a ListenableFuture this callback could be run in some executor thread not managed by swift. This ensures the thread local context is installed correctly when the callback is called.
If the method spawns threads during the method invocation, this doesn't help. It needs to use a customized executor that loads/saves request context.