create recurring events

added the capability to create recurring events

supports:
- UNTIL
- INTERVAL
- COUNT
- FREQ

also adds the ability to specify a custom RRULE

includes tests for the four supported features.