Correct error interpreting vcard timestamp size
Summary
Previously, Android was sending us all kinds of wild "timestamp" values, usually negative numbers, because it was interpreting the timestamp (milliseconds since epoch) as an int instead of a long.
This didn't actually cause any problems because the value was being deterministicly smashed into an int, so when the contact card changed, this value also changed. However, it's still nicer to have the correct thing here.
This patch requires a corresponding Android-side patch in order to fully fix the issue, see https://invent.kde.org/kde/kdeconnect-android/merge_requests/103, but it is safe to merge without merging the Android patch (the behavior will be exactly the same)
Test Plan
Look at a vcard's X-KDECONNECT-TIMESTAMP field
Before:
You most likely see some large-ish, negative number which makes no sense for a timestamp.
After:
You now see some large-ish, positive number. If you convert the timestamp to a date, you should see the date you last modified that contact (though Android seems to "modify" contacts very frequently in the background)