Topic/plat 6858

* Implemented **ProductPiecewisePolynomialInterpolator** and its wrappers, **ProductPiecewisePolynomialInterpolator1D**, **ProductPolynomialExtrapolator1D** and **ReciprocalExtrapolator1D**. 
* All of these have test classes, **ProductPiecewisePolynomialInterpolatorTest**, **ProductPiecewisePolynomialInterpolator1DTest**, **ProductPolynomialExtrapolator1DTest** and **ReciprocalExtrapolator1DTest**.  
Perhaps move these to a helper class of their own, or add them to one of the existing assertion classes? Same comment applies to their duplicates below.