Refactored many event spec tests. The "let" methods for defining functions had been confusing and didn't work well with overriding the options parameters, so those tests were refactored to use a new event method, next_occurrence_time_method.
There was already an attribute, next_occurrence_time, so I renamed that to next_occurrence_time_attr to avoid confusion.
Also, new class variables for collection_time_future and collection_time_past, which are used for getting collections of scheduled recurring events.
The original goal was simply to fix the collections of scheduled recurring events, but it has turned into a significant refactoring of the event model and event model tests.