FIX reduced_likelihood_function_value_ in GP correct if no hyperparameters are tuned
REFACTOR Representing hyperparameters theta as 1D ndarrays instead of 2D 1xn arrays
FIX Setting optimal_rlf_value correctly in GPs and actually maximizing likelihood over several random starts.

The sign of the optimal_rlf_value was set wrongly in 
_arg_max_reduced_likelihood_function() since it was set to the negative
of the return of reduced_likelihood_function(). This error was probably
caused by confusing reduced_likelihood_function(theta) 
with minus_reduced_likelihood_function(log10t). It resulted, however,
in _arg_max_reduced_likelihood_function() returning the worst local
maxima instead of the best one when performing several random_starts.
FIX Adapted Welch optimizer to 1D shape of theta introduced in 4f4726
REFACTOR GP supports additional optimizers for ML estimation passed as callables

In addition to the 'fmin_cobyla', 'Welch', GaussianProcess allows now
to pass other optimizers directly as callables via the parameter optimizer.
ADD Materin correlation models for nu=1.5 and nu=2.5
ADD Factor analysis distance for _quadratic_activation and example showing its advantages
REFACTOR Correlation models separate between __init__ and fit()

This allows to call __init__  of more complex correlation models outside
of the GP before the training data X used in fit() is known
ENH GaussianProcess hyperparameter optimization now based on MAP instead of ML

Instead of choosing the hyperparameters that maximize the likelihood,
the maximum-a-posteriori is used. While the prior is assumed to be
uniform for the implemented stationary correlation models, more 
complex correlation models with more hyperparameters may use an
appropriate prior to reduce the risk of overfitting when the training
set is small.