The base KL method class

@karlnapf 
Take a look at this base class.
Once it is ready to merge, I will send the two sub-class KL methods.
Yep I know, but think about the people who read just doxygen documentation and not the source code