This allows to get rid of any special casing that the users of the
calls_best_match_get_name() and calls_best_match_get_id() had to do previously.
We also allow passing in NULL for *_get_primary_info ()
and *_get_secondary_info () for the anonymous caller case.
We change the code for dealing with contacts quite significantly,
adding a new class, CallsBestMatch, in order to encapsulate a lot of
the functionality that was in CallsCallRecordRow.
At present avatars are not rounded and there are no auto-generated
avatars for contacts with no avatar. This work is awaiting discussion
of Apps_Issues#164.