Share ICalendar files

* An ICalendar file can be generated for an object to which events are
  attached: ICal(events, obj).store(). The URL is generated using:
  ICAL(events, obj).url().
  ICal.store method regenerates the ICalendar file every time it is called.

TODO:
* Find a way to ensure all ICalendar files including an event are regenerated
  when an event is modified or inserted, for instance, when we want to
  recap of all the events of the site in a single ICalendar file.
* SEQUENCE is never modified
* CANCELED is not implemented
...
Ensures ICalendar file is stored where url method is invoqued.