Urlencode/decode uri in CardDAV backend. Fix #188

Google uses a URL as UID, and we use UID for URI so got a 404
on Google imports because the card URL was truncated.