Introduce `AnnotatedUserHandles` class.

This component is a container for precomputed `UserHandle` values
that should be consistent wherever they're referenced throughout
a chooser/resolver session.

This includes some low-hanging integrations in `ChooserActivity` and
`ResolverActivity` that seemed unobjectionable and suitable for "pure"
refactoring -- i.e. the same handles are ultimately evaluated from the
same expressions, and I don't immediately plan to change the legacy
logic. Once this is checked in, we can proceed to looking at some of
the more complex/refactorable applications of `UserHandle` and
eventually integrate this component more thoroughly. First follow-up
priority is test coverage; existing coverage validates our typical
behavior as observed in the activities, but it would be great if we
could validate our understanding with thorough unit tests directly
against the `AnnotatedUserHandles` API.

Test: `atest IntentResolverUnitTests`
Change-Id: I36116d8c7156b7d30e777dd3c609c7e883ffc042
3 files changed