recentmodel: refactor to connect changed to nodes
recentmodel: refactor to connect changed to nodes

The changed signal of all nodes types (Person, CM, Call) is
now connected directly to the corresponding RecentViewNode. This
prevents us from having to do potentially expensive searches
each time an object is updated since the node already knows
its index and thus the conversion from the object to a QModelIndex
is faster.

This introduces a QHash mapping Calls to RecentViewNodes. Now, a
RecentViewNode is created every time a new Call is added. On each
changed() signal emitted by a Call, we make sure it has a parent.
If it doesn't, we check if it should have one and if so we add it
to the RecentViewNode. This way all Calls are always associated
with one RecentViewNode and thus we can keep track and update the
parent node of the Call.

Change-Id: Ic1dffa0dd7d659d8aafbb02f824762ed484cf095
Tuleap: #40

savoirfairelinux/ring-lrc,savoirfairelinux/ring-lrc,savoirfairelinux/ring-lrc,savoirfairelinux/ring-lrc,savoirfairelinux/ring-lrc