[tests] Use correct localuid for phone numbers in tests
[tests] Create phone-based test contacts with localUid

A blank localUid doesn't work to identify a phone-number contact.
Use the right account name instead.
[tests] Fix assumption about recent contacts ordering

Since 1.7.0 the events are ordered by end time, which broke some of the
tests in recentcontactsmodel.
[tests] Mark RecentContactsModelTest::repeated as expected failure

Fixing the getEvents query for RecentContactsModel will be a
separate project, TBD.
[tests] Install ut_recentcontactsmodel as privileged

For the test to pass it needs to be able to read the contacts.db
[tests] silence debug messages from ModelWatcher

They're reformatted to be more informative and then commented out
because they're so verbose that it's hard to read the test output.
[tests] GroupModelTest: create needed directories

The deleteMmsContent test tried to create directories with mkdir
but that failed because the parent directory (/home/nemo/.mss)
was not present.
[libcommhistory] Finish 'Always sort events by endTime'

Commit 75d4ea36 gave reasoning for sorting events by endTime instead
of startTime (namely, for messages the startTime is the sender's time
tag and we want the time it was received, which is the endTime)

However this change was not made in the GroupManager, causing the
test for this new behavior to fail. (GroupModelTest::endTimeUpdate)
[tests] Skip test for RecentContactsModel::requiredProperty

Getting this property to work again was too much work considering
we don't use it. One detail making it hard to fix it was that
we can get addressResolved() for a contact before the contact
has all of its addresses, so prependEvents() is too early to
decide to discard an event.

Removed some time-and-memory consuming code that used to be related.
Added a warning if someone tries to use the property..

This functionality was lost in commit 096972c9
Merge pull request #92 from amtep/master

Fix unit tests
Optimize localUidComparesPhoneNumbers function

Using QLatin1String saves us a lot of time in converting the string as
UTF8, and it's a simple function, so inlining makes sense.
[libcommhistory] Speed up ContactResolver by removing looping

Instead of going through ContactListener which only provides unhelpful
contactUpdated signals, use the SeasideCache directly and get helpful
addressResolved callbacks.

Look up resolved addresses in a hash directly instead of looping over
the private data structures.

Fill in all the resolved contacts when the events are ready, instead
of looping over all the events whenever something changes.

Credit to John Brooks for the idea of bypassing ContactListener.