Add `Dates.dateBasedDelta` and related methods.

No unit tests yet - maybe wait till we have them before merging.
what about a simpler name like deltaPeriod? I would use just "delta" but it is already in DateTools.

The arguments are quite easy to mix up ... maybe we could use an enum:
```haxe
enum TimeDelta {
  Years(qt : Int);
  Month(qt : Int);
  ...
  Sum(many : Iterable<TimeDelta>);
}
```