New rrule parser

Work in progress on the new rrule parser.

This parser decouples rrule itself from event/exception/override handling.

This makes the code cleaner, and allows rrule parsing to be used in contexts outside of VEVENT, and should solve a number of related bugs.