bug fix
Fixed a bug in factor graph ipython notebook
the base class
bug fix
Updated QuadraticTimeMMD with new formulas

The previous implementation is also kept alongside with the new
implementation as DEPRECATED versions.

The changes are

 - compute_statistic method now returns m*n/(m+n)*MMD^2 estimate.
 - An incomplete estimate of statistic is made available.
 - Previous results work if statistic type is set as BIASED_DEPRECATED,
   UNBIASED_DEPRECATED which returns (m+n)*MMD^2 in general case and
   m*MMD^2 when m equals n.
 - Spectral estimate of null samples returns m*n/(m+n)*Null-samples now
   Previous method works with MMD2_SPECTRUM_DEPRECATED enum.
 - As of now gamma approximation works with DEPRECATED sets only
 - Estimate of variance of asymptotic distribution of the statistic is
   computed along with computing statistic to avoid recomputing the
   kernel. Variance under null and alternative are computed separately.
 - Similar to compute_statistic, compute_variance works with multiple
   kernels as well.
Merge pull request #2246 from yorkerlin/variational-likelihoods

the base class (VariationalLikelihood)
Merge pull request #2248 from yorkerlin/lnorm_cdf

bug fix for normal_cdf and lnormal_cdf
Merge pull request #2253 from yorkerlin/probitlikelihood

bug fix (ProbitLikelihood)
Merge pull request #2189 from Jiaolong/FGM_notebook

Fixed a bug in FGM notebook
Merge pull request #2256 from lambday/feature/quadratic_time_mmd

Updated QuadraticTimeMMD with new formulas
pruning and missing values features added in CART
Merge pull request #2255 from mazumdarparijat/CART

prune method added and missing values handled