Generic interpolation + modular arithmic

Adds to TeraMath
* Generic linear interpolation (lerp)
 - Lerpable interface for create interpolatable objects
 - lerp function for Lerpable objects 
* Modular arithmic
 - modulus (Result has same sign as divisor)
 - remainder (Result has same sign as dividend. Alias of %-operator)

The linear interpolatable interface is useful for when you have compound data classes, where each data member is linearly interpolatable.

Modulus is useful, because in many cases you know the sign of the divisor, but not of the dividend.
Remainder is a more verbose version of the % operator, to be used to make a clear distinction between the two types of operations when using both of them.