Delete declarative contact after remove it from the model.

Keep any contact fetched by the model update even if the contact is not in the model.
Delete any fetched contact if it get removed from the engine.

Change-Id: I646cc2d53ca7bb25b107f44c9517c0aac6814422
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>