Added the next_date method on generators for calculating the next date for which an instance should be generated
Refactoring and DRYing up the EventGenerator next_date specs for clarity
The EventGenerator#generate method now handles arbitrary start dates and generates the next 4 dates for weekly repeating events