Trap infinite loop in remaining_occurrences
Match time zone from schedule when finding times

Fixes #152
TimeUtil distance methods should all return Fixnum
Don't calculate for days in next month when start day < 28

Fixes #171
Check input types when creating validationss
Accept arrays for multiparameter inputs

Fixes #139
Extract shared interval validation to ValidatedRule
Intervals must be unique for each rule

Fixes #158
Added specs for replacing intervals

Fixes #157
Occurrence class.name 'Time' enables transparent use with Arel

Fixes #168
Test on ruby2