This patch resolves the following issues:
End time missing on exported iCal webcalendar. On timed events, the date part of DTEND would be set correctly, but the time would invariably be set to 000000. Now DTEND includes the saved time as well as date. See bugs 2680 & 2683.
Excluded dates were not being written correctly. According to the ical specification, the DTSTART and the EXDATE of an event must be of the same type (DATE or DATE-TIME), but webcalendar was writing all EXDATEs as DATE types. This was causing ical importers to not exclude dates that should be excluded. See Spec. page 119 and Mozilla's stance.
Small syntax problems within the r1.108 version of the file that were preventing iCal export.