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 #2256 from lambday/feature/quadratic_time_mmd

Updated QuadraticTimeMMD with new formulas