Settings : Scroll to preference on search and highlight

Change-Id: I93c4106d022b416205cc33cf5dbdf5d7635a002a
Highlight search string match.

Change-Id: I72c0380512028674c91f287325f221a686a4821d
Improve search performance.

The normalization regex is slow (5-10ms per entry on mako), so better
pre-cache it. Also cache the icons, as the number of icons is vastly
smaller than the number of potential search results, so they'll be
reused very often.

The regex change alone brings the duration of a single filter run down
to ~20ms from ~1200ms on mako.

Change-Id: Ia0fa9c554d0d585a52c8a2b87eecbf045388c961
Settings: Bump SettingsSearch db version.

Change-Id: I0ba3be71f61fcae9c2fe67064b5f890fdd0abb2c
Improve search UX prior to load being finished.

Show a informative hint in that case.
Also clean up code somewhat.

Change-Id: I57f37bc60fbaef2ea0db0b0c3227df125b0e4ab9

Conflicts:
	src/com/android/settings/Settings.java
Check locale when populating DB instead of using separate receiver.

This makes reloading the search data race condition free. Previously,
when invoking search directly after the locale change, one would get the
results for the old or the new locale depending on timing between the
broadcast being delivered and the activity restart.

Change-Id: I35bc11a7f68e655e00fe53b829deea613da74f69