Add a new API to fetch reasons why a job may be pending.

This new API (getPendingJobReasons()) is similar to the existing
getPendingJobReason API (deprecated in this change) but it returns
all potential reasons why a job may be pending rather just one
pseudo-random reason.

Also add a new pending job reason for when the override deadline
constraint is set by the app.

Bug: 372031023
Test: atest JobSchedulingTest
Test: atest JobSchedulerServiceTest
Flag: android.app.job.get_pending_job_reasons_api
Change-Id: I56cf2d7c703a5482b5838aaedd4fdfb338f204ea
9 files changed