Consolidated intervals, EndDateTime, Enforced event range.

Consolidated four redundant event "intervals" variables into a single
variable.
Added Event.EndDateTime.
Enforced event start and end date on all Schedule class functions.
Fixed bug in yearly event builder (which was causing some of the yearly
unit tests to previously fail.)
Fixed unexpected/counterintuitive behavior with events with fixed number
of occurrences, wherein excluding dates from events with fixed
occurrences, would increase the last occurrence date.
Added additional yearly unit test to test the new yearly temporal event
builder code.