Log start end end of app push-installs

This makes the |AppInstallEventLogCollector| detect and log the
start and end of app push-installs:
* When an app is added to the push-install list in |ArcPolicy|,
  the start of a push-install is logged.
* When an app disappears from the non-compliance list returned
  by CloudDPC, the successful end of a push-install is logged.
* When an app is removed from the push-install list in |ArcPolicy|,
  the cancellation of a push-install is logged.

|AppInstallEventLogCollector| also checks whether ARC has become
unavailable altogether (implicitly canceling all pending app
push-install requests) and starts an |AppInstallEventLogger| that
will log events which occur during the app push-install process.

Bug: b/73277923
Test: manual
Change-Id: Iafb49a33d877e5bb3230f32c9bf9c17e7145b6aa
Reviewed-on: https://chromium-review.googlesource.com/932302
Commit-Queue: Bartosz Fabianowski <bartfab@chromium.org>
Reviewed-by: Yury Khmel <khmel@chromium.org>
Reviewed-by: Pavol Marko <pmarko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539535}
7 files changed