(org-caldav-put-event): Encode the value of the VCAL entry as UTF-8 rather
than passing in a buffer.  Otherwise, the url library gets the content
length wrong.
(org-caldav-convert-event): Convert UTF-8 before parsing.
Patch by Toke Høiland-Jørgensen.
(org-caldav-convert-event): Set `calendar-date-style' to 'european (issue #3).
Rewritten for proper two-say syncing. Added testsuite.

This is pretty much a rewrite of org-caldav to do proper two-way
syncing.
(org-caldav-save-object): Removed.
(tests): Added comment on how to run tests.
(org-caldav-cleanup-ics-description): Fix timestamp removal.
(org-caldav-get-preamble): Remove non-standard headers.
(org-caldav-calendar-preamble): Just set it ourselves.
(org-caldav-get-preamble): Removed.
(org-caldav-update-eventdb-from-org)
(org-caldav-update-events-in-cal): Don't call the above.
(org-caldav-start-from-scratch): New.
Add progress messaging.

(org-caldav-start-from-scratch, org-caldav-update-events-in-cal): Show
progress and set `url-show-status' to nil.
(org-caldav-change-timestamp): Use `org-maybe-keyword-time-regexp'.
(org-caldav-start-from-scratch): Renamed to `org-caldav-delete-everything'.
Remove cruft.

(org-caldav-event-set, org-caldav-create-event-exist-cache)
(org-caldav-insert-new-events, org-caldav-get-all-caldav-uids)
(org-caldav-remove-text-properties, org-caldav-filter): Removed.
(org-caldav-generate-md5-for-org-entry, org-caldav-update-events-in-org):
Use `org-id-find' instead of `org-id-goto'.
Update doc-strings.
Circumvent Org bug that uppercases timezone.

(org-caldav-maybe-fix-timezone): New.
(org-caldav-update-events-in-cal): Call it.
(org-caldav-generate-ics): Include TZID if `org-icalendar-timezone' is
set.
Show results after syncing.
(org-caldav-update-events-in-cal): Only update etags for events which
could be put.
(org-caldav-current-event-etag-list): Removed.
(org-caldav-update-events-in-org): Choose the right buffer to calculate MD5.