Implement Pre-reboot Dexopt.

Pre-reboot Dexopt reuses the normal dexopt workflow. The entry point is
`ArtManagerLocal.dexoptPackages`. The only differences are:

- It appends the ".staged" suffix to the filenames of the output dexopt
  artifacts and profiles.
- It does not clear cur profiles.
- It does not delete runtime artifacts.
- It never updates the dex use protobuf file.

Bug: 311377497
Test: atest ArtServiceTests
Test: m test-art-host-gtest-art_artd_tests
Change-Id: I7ab98015a85c0a24cc2083a317048dcf548449ea
23 files changed