Use unique ID in vcard name to support more than one contact

The .vcf filename must be unique to each contact otherwise the next
upload will overwrite the previously uploaded contact.

By using the ID from the contact app, we ensure that modifications
to an existing contact overwrite the existing one and that new
contacts get a new .vcf file.
Retry when contact upload to a remote server fails