Requests that the given job is cancelled.
If the corresponding job is already completed, or if it does not allow to be cancelled at this point, this method returns false. Otherwise, the job's cancel() method is called. If that call returns true, and the job allows its thread to be interrupted, a Timer will be scheduled to query the job's state again after the cancelTimeOut specified by the job. If the job is still found to be running, the thread running it is interrupted.
@param job the job to cancel
@return true iff the job was running or had not yet started to run, and it allowedto be cancelled and its cancel() method returned true.
@see UiJob#cancel()
@see UiJob#canBeCancelled()
@see UiJob#getCancelTimeout()
@see UiJob#mayBeInterrupted()