Track last job execution in heartbeat time, not strictly real time

We need to be able to handle instrumented / externally driven job
scheduling time, so we need to decouple that from "real" time.  One
other effect is getting a cross-call to the usage stats module out
of the hot path of job runnability evaluation.

Bug: 73664387
Bug: 70297229
Test: atest CtsJobSchedulerTestCases
Change-Id: I0dce8af6e7fc50ce736b13572482b2db33e42b02
3 files changed