Automatically manage the cancellation of jobs with RAII.
Avoid calling JobClient::RemoveJob from ~JobHandle, as that means it *is* just being removed.