Full diagonal kl method (the first KL method)

@karlnapf 
take a look at this.
Currently I use the log_det in MatrixOperations.cpp.
 I will use some @lambday's work once other things in the implementation are fine.
Ok I am fine with having this class of helper methods for GPs.
But if we do have, please document the mathematical operations of all methods properly.
And again, please send a seperate PR, so much easier to review!