Make ApexManager an abstract class

And a two implementations:
* ApexManagerImpl - in case device supports updatable APEX.
* ApexManagerNoOp - in case device does not.

This is a more future-proof way of handling both new flow that supports
APEX and legacy one that does not.

Test: atest CtsStagedInstallHostTestCases
Bug: 131697251
Change-Id: If27fcdb95d4ec60834bd5334b68f53d4235a5d61
2 files changed