pull up common functionality in inference method classes
Merge pull request #1349 from votjakovr/feature/gp_refactoring

Pull up common functionality in inference method classes
-added unbiased estimator for marginal likelihood.
-new class for probability distributions and a Gaussian for sampling and log-pdf (numerically stable)
-log-sum-exp and log-mean-exp in CMath
-CLikelihood model now is able to evaluate many likelihoods at once
-some fixes
Squashed commit of the following:

commit f475b175e669447c57eb50087255097628573aa8
Author: Heiko Strathmann <heiko.strathmann@gmail.com>
Date:   Thu Aug 1 12:00:34 2013 +0100

    updated written tag in license

commit 0b7631fdb3a0c159f0bae4ad58b980dca62075fa
Author: Heiko Strathmann <heiko.strathmann@gmail.com>
Date:   Thu Aug 1 11:58:12 2013 +0100

    removed debug and lowered unit test accuracy

commit 0fa88a4595fa9d2c252c43959dc5783058a613d2
Author: Heiko Strathmann <heiko.strathmann@gmail.com>
Date:   Thu Aug 1 11:46:57 2013 +0100

    proper handling of kernel scalling

commit 3b40b55d507cf1a4e9fd3ba637b92e94359f718b
Author: Heiko Strathmann <heiko.strathmann@gmail.com>
Date:   Thu Aug 1 10:54:54 2013 +0100

    romans comments

commit 0b654c29656d5f896011aff7851106974a18d2a9
Author: Heiko Strathmann <heiko.strathmann@gmail.com>
Date:   Wed Jul 31 20:00:22 2013 +0100

    cleaned up header

commit 662d34f3cc9398f2d57bae06a4d5591eb1495b0b
Author: Heiko Strathmann <heiko.strathmann@gmail.com>
Date:   Wed Jul 31 19:51:34 2013 +0100

    doc update

commit d6d6c9d142fae5341af25d1bc533f4d2404e39b5
Author: Heiko Strathmann <heiko.strathmann@gmail.com>
Date:   Wed Jul 31 19:49:33 2013 +0100

    doc updates

commit 86c832219829fa8514e2f3569bd52e8ec3d494bd
Author: Heiko Strathmann <heiko.strathmann@gmail.com>
Date:   Wed Jul 31 19:45:48 2013 +0100

    added unit tests for laplacian inference method binary marginal likelihood sampler

commit 1e29f674c7cfe5226c84bf14863cf53a1d2f8148
Author: Heiko Strathmann <heiko.strathmann@gmail.com>
Date:   Wed Jul 31 19:45:17 2013 +0100

    fixed some bugs that caused wrong results

commit 82ad8b5dadea61ce2a0978d641b4189792a0fd9d
Author: Heiko Strathmann <heiko.strathmann@gmail.com>
Date:   Wed Jul 31 18:28:46 2013 +0100

    few documentation updates

commit fe3666d3888611f49222a7fdc2ebeea9aa4d1f0b
Author: Heiko Strathmann <heiko.strathmann@gmail.com>
Date:   Wed Jul 31 18:23:56 2013 +0100

    first version of unbiased estimator for log-marginal-likelihood

commit 0aa84503317bd1f02c0e0899c69f0d54c726d6d1
Author: Heiko Strathmann <heiko.strathmann@gmail.com>
Date:   Wed Jul 31 18:23:06 2013 +0100

    added new method to evaluate the log-likelihood of multiple f functions and a unit test

commit 8d19f2c2ca35c0ab3a40092b786c2a816d21270f
Author: Heiko Strathmann <heiko.strathmann@gmail.com>
Date:   Wed Jul 31 18:22:40 2013 +0100

    added log-sum-exp and log-mean-exp trick and a unit test for each

commit 6939085448fb59a9c7a22920ea61dbf00e074cd2
Author: Heiko Strathmann <heiko.strathmann@gmail.com>
Date:   Wed Jul 31 16:17:37 2013 +0100

    added a bunch of tests for the new Gaussian distribution class

commit 71e16630c7a0300965c08fa19f349bed61eab44d
Author: Heiko Strathmann <heiko.strathmann@gmail.com>
Date:   Wed Jul 31 16:17:00 2013 +0100

    removed TODO lines since I added tests a while ago

commit 7c74314f50153c14a2d01e041af858af36dcd68d
Author: Heiko Strathmann <heiko.strathmann@gmail.com>
Date:   Wed Jul 31 16:16:36 2013 +0100

    method will stay for now

commit f3f568e95713b0cf50f1cab52c55ab01049987f5
Author: Heiko Strathmann <heiko.strathmann@gmail.com>
Date:   Wed Jul 31 16:15:04 2013 +0100

    sampling and log-pdf for Gaussians now works

commit 423bbc329caa2a36b6a649bb1c7f173a950adc3f
Author: Heiko Strathmann <heiko.strathmann@gmail.com>
Date:   Fri Jul 26 13:24:52 2013 +0100

    some interface changes and a first log-pdf implementation

commit c83398d9b93d05b6abc5b818615fd9586498f44a
Author: Heiko Strathmann <heiko.strathmann@gmail.com>
Date:   Thu Jul 25 19:59:46 2013 +0100

    mentioned pseudo-marginal GP and new GaussianDistribution class

commit c5f98915b1bca1cc5da9c4ca92d988d05541d1a3
Author: Heiko Strathmann <heiko.strathmann@gmail.com>
Date:   Thu Jul 25 19:55:50 2013 +0100

    another minor doc update

commit 66ded9a4f64781af12a014a052f45f0a322fda6e
Author: Heiko Strathmann <heiko.strathmann@gmail.com>
Date:   Thu Jul 25 19:54:24 2013 +0100

    minor documentation updates

commit b9f92db9dad4eee7bde26cac4cd18f70f7eb6edc
Author: Heiko Strathmann <heiko.strathmann@gmail.com>
Date:   Thu Jul 25 19:50:29 2013 +0100

    some minor additions

commit 589fe3fc35e4f1b57670c0cd80e8ee9c952b6e25
Author: Heiko Strathmann <heiko.strathmann@gmail.com>
Date:   Thu Jul 25 19:40:47 2013 +0100

    added a skeleton for sampling the marginal likelihood using the current inference method's posterior approximation

commit 0b6ac9d5a05f947bd1d39cc56cb8997502efbf57
Author: Heiko Strathmann <heiko.strathmann@gmail.com>
Date:   Thu Jul 25 19:39:59 2013 +0100

    new class of classic probability distributions added and started on an implementation for a Gaussian
removed SVD_QR for Gaussian, too unstable, replaced by ridge on diagonal
added GaussianDistriution to modular interfaces
make covariances symmetric
some security checks for psd matrices
removed hacky psd checks, user has to do this. Print smallest eigenvalue instead
added method to set/get weights as a whole and some doc updates
added obtain_from_generic method
remove makeing matrices symmetric
Normalization in CHashedDocConverter class
use gsomix' csv reader in some a newly crafted examples
Faster exact computation of neighbors in LMNN
Fix missing UNREF in LMNNImpl unittest
Merge pull request #1352 from iglesias/feature/lmnn

Feature/lmnn
fix function name in example
switch to C_ORDER per default
don't call DotFeatures(fname) to fix loading from within constructor
move anova kernel to use csvfile class