Add LAST-MODIFIED to ical event properties

Description

Some CAs like Galicaster look to see if an event has changed by comparing a cached copy of the ical with the ical fetched from the server (if a 200 response is received rather than not-modified).

The CA then wants to know which events have been modified. As metadata could have changed inside one of the attachments (episode.xml, series.xml, etc.) it is hard for a CA to establish if a previously known event has been updated - see https://github.com/teltek/Galicaster/issues/586

Adding the standard ical LAST-MODIFIED field can help CAs decide this quickly and efficiently.

LAST-MODIFIED is defined here:

https://www.ietf.org/rfc/rfc2445.txt 4.8.7.3 Last Modified

Purpose: The property specifies the date and time that the
information associated with the calendar component was last revised
in the calendar store.

and we can set this exactly by using the ArchivalDate field of the last version (snapshot) of the event in the asset manager when we construct the ical calendar.

Steps to reproduce

None

Status

Assignee

Stephen Marquard

Reporter

Stephen Marquard

Criticality

None

Tags (folksonomy)

None

Components

Fix versions

Affects versions

4.1

Priority

Major