Run apexd dynamically

Registering apexservice with the LazyServiceReigstrar allows it to be automatically stopped when it is not in use. The forcePersist flag is set until preliminary tasks are completed in order to avoid stopping the service prematurely. Replacing calls to getService with waitForService allows it to be dynamically started when it is needed.

Bug: 149060287
Test: atest --test-mapping system/apex/apexd

Change-Id: I5e041c611bd8e5482cb09220739db9b1b04714cd
7 files changed