topic/PLAT-6858

This adds a new interpolator (ProductInterpolator1D) that for a set of knots x and y uses a supplied base interpolator to interpolate on x and x*y - the interpolation result is divided by x before being retuned so the user just sees an interpolation on x-y. 

Financial applications include interpolating on the product of the zero rates and time (equivalent to interpolation
on the log of the discount factors) and interpolating on the total variance (sigma-squared multiplied by time).
It does modifies the data in that the Interpolator1DDataBundle which contain an extra knot (at x = 0). This behaviour is perhaps confusing.