Add SVD-based solver to ridge regression.

I added a solver based on the thin SVD of X to compute the ridge
coefficients. This is much more stable than the cholesky decomposition
for singular matrices.

While in the Ridge regression the Gram matrix becomes nonsingular
because of the regularization, I've come across problems when the
regularization parameter is very small. This pull request remedies,
making the algorithm defined and stable even for the border case
alpha=0.

I took the liberty to change the default algorithm of to this one
(when there are no sample weights).
Remove unnecessary code in ridge svd
BUG: solver was not passed to computational method in Ridge object
Use Cholesky solver by default, but use SVD as fallback

when the cholesky fails.
Use ValueError for non-existant solvers
Merge pull request #1914 from fabianp/ridge_svd

MRG - Add SVD-based solver to ridge regression.