This generalizes the pattern of needing to offer a selection among a
list of candidate applications.
Also move some reusable logic around querying PackageManager for icons
into AppListPreference, and remove some unnecessary update logic: the
preference will update itself when onPreferenceChange returns true,
and we can set the summary to '%s' to automatically use the entry as
the summary without having to reset it each time.
Change-Id: I007b9ed58359302f93b367a4b86354e93613bf3e