Effectively removes the lock and trampoline Computer wrappers as
we enforce that snapshots are always available now.
Also isolates IPackageManager and PackageManagerInternal from
PackageManagerService to prevent misuse of the APIs. The separated
base classes have access to a snapshot method which is then proxied
to, or used to call into PMS.
This makes it impossible for a caller using PMS directly to
accidentally call into one of these other API surfaces that won't
use the caller's provided snapshot, causing inconsistency problems.
Also removes live locking annotations and the related infrastructure
since we just assume that doesn't matter anymore.
Also migrates some _Helper logic to take/pass snapshots to match the
PMS methods, but not all of the helper logic migated to consistent
snapshots. That will be done in a follow up.
With this, all known extra overhead has been removed and metrics
should return to normal.
Bug: 215403184
Test: presubmit
Change-Id: I7e977f600f49b070c3a539901cc06d523fb7517a