Squash T-9 updates from CM

If there's a contacts DB change while the dialpad is open, reload the
cache instead of dropping it.

Fixes issue #6679.

Change-Id: I1f96482c680fbc78300e57d5de40cdad88e3029f

Fix NullPointerException on locale change.

Change-Id: Ib6f33c324164b4fda59a3cd3d7f00da82396e04d

Show formatted number in T9 result list.

Fixes issue CYAN-346

Change-Id: Ic4a30118f4223ccf341e7ead49ccee3aeb585487

Improve T9 name normalization code

- Properly highlight nickname matches
- Make sorting more intuitive
- Highlight whole matched entry for pinyin matches instead of nothing
- Cleanup

This fixes issue CYAN-201.

Change-Id: I3346dd5bd117278718a5f1048ec96a743b7436b1

Fix a number of issues with T9 dialer.

- Fix an ArrayIndexOutOfBoundsException which happened when highlighting
  the last digits of a number and the number had additional characters
  after those digits.
- Fix another potential ArrayIndexOutOfBoundsException due to the
  highlighting code relying on normalNumber being a subset of number,
  which wasn't the case due to number being additionally sent through a
  formatter. Fix that by running the formatter before normalizing.
- Fix number highlighting not working if the number match occured at the
  end of the number.
- Fix number type label & formatting not being updated on locale
  changes.
- Fix T9 search not being triggered when pressing the dial button to
  recall the last dialed number.

Change-Id: Iae1087cf1805fd2840cb6c740e763037d59bd564
Merge "Squash T-9 updates from CM" into jb-mr1