Make ApexManager a singleton.

Currently ApexManager is only accessed from PackageManager, but upcoming changes
to allow rollback of apex data directories will require RollbackManager to
access it as well. (See go/apex-data-directories)

Multiple ApexManagers can already be created, but as the class maintains a cache of apex
packages, it would be inefficient to have many of them. This change makes ApexManager
into a singleton so that PackageManager and RollbackManager can use the same one.

Bug: 141148175
Test: atest CtsStagedInstallHostTestCases
Change-Id: Id43a20bf94f349c87d50de5dad7c90bee50f39f1
3 files changed