[carddav] Add CardDAV sync plugin code

This commit adds support for CardDAV sync
Ah, this could happen because removed contacts didn't have their ids set correctly, previously (I had been clearing the m_contactIds[guid] value before returning the AMR set to the syncer.cpp code, which meant that we couldn't set a real id in Removed contacts).  Fixed now.