Skip restore of apps that have been launched or restored.

This is to ensure we don't overwrite existing state. The behavior will
be controlled by the BackupTransport implementation that provides the
restore data.

Bug: 308401499
Test: atest BackupEligibilityRulesTest
      atest ActiveRestoreSessionTest
      Manual: perform initial restore, verify all apps restore, rerun
      restore for already restored / launched apps, verify no restore
Change-Id: I6ee1a2aca49224f0228f7ad340d3424fbe50e7bb
9 files changed