Allow changing `Date` class used to support other calendars
Merge pull request #3313 from tahajahangir/changeable-date-class

Allow changing `Date` class used to support other calendars