Create ShutdownCheckPoints for shutdown call logging

This class has a singleton that can be triggered from different places
within the frameworks/base code to record information about calls to
shutdown and reboot methods. The stacktrace, binder caller pid and
intent are kept in memory and dumped in a file by the ShutdownThread.

Follow up work:
- Use the ShutdownCheckPoints record method in the framework.
- Add a rotating file logic to ShutdownThread to store previous
restarts, instead of rewriting the same file.

Based on this cl:
https://partner-android-review.googlesource.com/c/platform/frameworks/base/+/1197613

Bug: 113147108
Test: atest FrameworksServicesTests:ShutdownCheckPointsTest
Change-Id: I08b1d8c990ea7d727988a2f711c66bd0c7d7ddb6
3 files changed