Add `Dates.dateBasedDelta` and related methods.

No unit tests yet - maybe wait till we have them before merging.