KLApproxDiagonalInferenceMethod (the third KL method)

@karlnapf 
Take a look at this.
Note that it may have similar issues you mentioned in other KL methods.
I will correct all of them tomorrow.
Just have it run to ensure everything work well.
It seems to be that you only need the diagonal of the inverse matrix. Why compute the full thing then? In particular, storing a matrix inverse is always very unstable. I am sure there are better ways of computing the trace of a matrix inversion that are faster and numerically stable