Fix crash of date selector.

How to reproduce:
- Open date filter
- Turn off screen
- Turn on screen
- Reopen date filter

Also move around code a bit to follow existing design patterns more
closely.

Change-Id: Ibd46a09db6c5fb4623a1ef8062af971aee0e1a60
Fix display condition for minutes.

Previous display: 2 hours 0 mins
Now displayed: 2 hours

Change-Id: I4f428e2b16063ab285d25c33eb6ebe2c6f769d2e
Fix threads running after entering call log, possibly affecting battery
life.

When having entered the call log or the call stats activities once, the
contact lookup thread (which wakes once per second) continued to run
even after leaving the activity.
The root cause for that was that the ViewTreeObserver obtained at
registerOnPreDrawListener() time was no longer valid when
unregisterOnPreDrawListener() was called. Fix that by storing a
reference to the observed view instead of the observer and fetching the
current observer when needed.

Change-Id: I3209712a52371f99772f522d03bc6b209272089c
Allow quick pre-selection of filter range.

Change-Id: I13bacaffdff21d8feb60a9c8939d3e17057a60f8
Fix display of missed calls when filtering for call type and sorting by
count.

Change-Id: I771b91947ea964b8c7163ce314ce666d90cf60ab
Cleanup code and make call data processing asynchronous.

Change-Id: I99e282e5f32b3f53be5e2421d9a2992e4f1ccb59
Fix call grouping.

We can not assume the only type of call duplication is international
prefix vs. no international prefix. There's also other cases, like in
the US: 1 123-456-7890 vs. (123) 456-7890.

Fixes issue CYAN-345.

Change-Id: I7b40dc6277f8e2dbfc4f6fe3319acc086c3f06fe
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