[SPARK-3902] [SPARK-3590] Stabilize AsynRDDActions and add Java API

This PR adds a Java API for AsyncRDDActions and promotes the API from `@Experimental` to stable.
This looks racy. There's no guarantee that the test won't have finished when this sleep wakes up, and then cancellation will fail.

What exactly is the behavior you're trying to test? I'm pretty sure job cancellation is covered elsewhere, so if you want to test the wrapper's behavior, it might be worth it to use Mockito instead of running real jobs.