Base class to make  easier to implement user classes for applying torque between two bodies. The only mandatory function to implement is
double ComputeTorque()
A simple user-defined torque between two shafts (say, a crankshaft and the motor block), one gets torque, the other negative torque.
Now the ChShaftsTorsionSpring  is inherited from ChShaftsTorqueBase, to make things more coherent and OOP.
New "thermal engine" class, defining a torque curve and a throttle modulation. The computed torque is applied to shaft 1, say the crankshaft, and the negative torque is applied to shaft 2, say the motor block, that gets the reaction.
Note that the throttle model is simplified, it simply scales the value of the torque curve linearly, as Tfinal = T(w)*throttle
In future we may add a 2D map as Tfinal=T(w,throttle).
New demonstration of the ChShaftsThermalEngine in demo_powertrain.
Also, updates to some comments, and makefile updated to compile new powertrain stuff.