Allow cross user package suspension

Allow packages with INTERACT_ACROSS_USERS_FULL to suspend apps in
different users. When the user unsuspends the app, the suspending app
has to be notified, so it is necessary to store the userId of the
suspending app.

Brief doc: go/ae-xu-suspend

Bug: 263464464
Test: atest SuspendPackageHelperTest
Test: atest CtsSuspendAppsTestCases
Test: atest ActivityStartInterceptorTest
Test: atest PackageManagerSettingsTests
Test: atest PackageUserStateTest
Test: manual, suspend some apps via adb abd TestDPC on Android U, update
      to this change, ensure they can be unsuspended correctly.
Change-Id: Icf82058266dab9386a5dee84ce0a9ce4b4ab9283
8 files changed