Fix issue #38244875: Bring back testChargingConstraintFails

- Add new "get-job-state" shell command that the tests can use
  to find out what is going on with a job.
- Fix an issue in the battery controller where it would not
  immediately stop with a "battery not low" constraint when
  the battery becomes low.
- Also an optimization to rescheduling jobs, for every scheduled
  job that is not ready don't look to see if it is active.
  Instead, go through the active jobs and see if any are no
  longer ready.

Test: bit -t CtsJobSchedulerTestCases:*

Change-Id: I5611886653258ca337eee97c5ee1b9b3dfdb6d85
3 files changed