Use factory function

This converts usage of `f.regular_points()` into a new factory method `DimCoord.from_regular()` to allow scope for optimisation.