WIP: Kernel ridge

This PR adds kernel ridge regression to the 4 classes in the ridge module: Ridge, RidgeClassifier, RidgeCV and RidgeClassifierCV. 

The basic functionality is there but the the class hierarchy became a bit messy and probably needs some clean up.

I am not sure yet how to handle fit_intercept=True in the kernel case so I introduced fit_incercept="auto" which sets the value to False when a non-linear kernel is used. Note that the "auto" mode will have to be introduced to fix #1389 anyway.

I rewrote the polynomial interpolation example using the new functionality.