Cache ChooseTarget fields in SelectableTargetInfo.

As of ag/20378152, `ChooserTarget` is no longer part of the
(consumer-side) public API of `SelectableTargetInfo`; it's only used
as a container for some initialization data that's maintained as an
implementation detail internal to `SelectableTargetInfo`. In this CL,
the relevant `ChooserTarget` data is extracted at initialization time,
and subsequently the `SelectableTargetInfo` no longer retains a
reference to any `ChooserTarget` instance after it's constructed.

In a subsequent cleanup CL, the `SelectableTargetInfo` constructor
signature can be reworked to take these fields directly, instead of
via a `ChooserTarget`. The factory method takes over responsibility
for extracting the fields from a `ChooserTarget`, or another overload
allows clients to skip the `ChooserTarget` representation and provide
the values directly. We'll stop synthesizing `ChooserTarget`
intermediate representations for the targets we inject ourselves
(instead just passing the values to the new overload), and we'll
operate on the deprecated `ChooserTarget` type only for the single
step of immediately converting targets passed in by the caller intent.

Test: atest IntentResolverUnitTests
Bug: 202167050
Change-Id: Ibf97c1cebce292f1e2f02def1924bd180ec70077
1 file changed