Primarly this moves all vcompenent input and output code to clearly
labeled modules, instead of being spread out. At the same time it also
removes a handfull of unused procedures.
An event with an RRULE can have extra VEVENT's which share their UID,
but add a RECCURENCE-ID which contains when the event was supposed to
take place. In place of that time it may supply it's own overriding
time. It may also override other fields.