Update Recurrence namespaces.
Decouple calendar factory from calendar class.
Restructure abstract calendar to use iterators.
Add null checks to abstract Calendar add methods.
Correct the add methods being called by the calendar factory.
Name Event fields more relevantly.