SPARK-2636: Expose job ID in JobWaiter API

This PR adds the async actions to the Java API. User can call these async actions to get the FutureAction and use JobWaiter (for SimpleFutureAction) to retrieve job Id.
maybe without the parenthesis, and lower case id?

```scala
/** Get the corresponding job id for this action. */
def jobId = jobWaiter.jobId
```