[caldav] Update recurrence and all-day data correctly

Recurrence data needs to be copied using Incidence serialization, as
the incidence's internal recurrence data will not be recreated
otherwise.

All-day information must have a time of midnight on one day to
midnight on the next, else the incidence is not recognized as being
an all-day event otherwise, even if the flag is set.
[caldav] Don't send events already deleted on the server, and handle add/modification conflicts

Discard local changes for incidences already deleted remotely.

Also if an event was received from the server then modified locally
before the next sync, ensure it is sent as a modification rather than
an addition.
[caldav] Don't copy the organizer as an attendee

ExtendedCalendar automatically copies this data, but we don't want this
behaviour as it turns the event into an invitation for the organizer.
[caldav] Ignore a remote change if it was locally deleted already.
[caldav] Minor code clean up and improvements to all-day handling
Merge pull request #10 from nemomobile/fixes

Various fixes