Refactor PackageSetting codePath and remove resourcePath

There was a bug that caused codePath/resourcePath and their
codePathString/resourcePathString equivalents to become
mismatched in Settings#createNewSetting.

To resolve this and prevent future issues, this moves codePath
to a private field and exposes a setter which assigns both the
File and cached String representation at once.

The deprecated and effectively unused resourcePath variants were
removed from the server side PackageSettingBase. The ApplicationInfo
app side variable was kept as-is, since it's publicly mutable through
@UnsupportedAppUsage and could break compatibility if it was removed.

Test: atest android.content.pm.PackageManagerTests
Test: atest com.android.server.pm.PackageManagerSettingsTests
Test: atest com.android.server.pm.ScanTests

Change-Id: I815775003bc5fcc5be6d61a24e30d8076b1c024a
14 files changed