add has_recurrence active model mixin
Merge branch 'has_recurrence' into instedd