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.
Returning `true` when `NULL` is to fix the error happened before.
Note the If new KLInferenceMethod() without any argument, the default m_model==NULL, in this case the function should return true, otherwise the error will happen again.
Note that KLInferenceMethod() without any argument and KLInferenceMethod(arg1, ...) with arguments will call init().  
Maybe I can design another way to solve this issue. 
However, all implemented Inference (eg: EP, Laplacian) methods have the similar issue if CInference() without any argument is called because m_model is set to NULL.