Add concurrency restriction at the USER level

Add a new layer of concurrency limitation at the USER level. Jobs that
are from the background users will be restricted at a maximum
concurrency.

Bug: 175643251
Test: atest JobSchedulerServiceTest
Test: atest WorkCountTrackerTest
Test: atest WorkTypeConfigTest
Test: atest JobCurrencyManagerTest
Test: atest GracePeriodObserverTest
Test: atest JobConcurrencyManagerTest
Test: atest CtsJobSchedulerTestCases
Test: atest FrameworksServicesTests:PrioritySchedulingTest

Change-Id: I82932355d30ac48dd40adb420524483908f21a3e
(cherry picked from commit e30d7fc00401625832e14ed9be645839ef1b2d0f)
8 files changed