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
Fix L2 regularization order in sgd_fast
corrected doctests after moving L2 penalty application in SGD
ENH speed up sklearn.feature_selection.chi2

New version is ~4× faster and reuses allocated arrays.
Merge remote-tracking branch 'upstream/master' into pr/2016
added SGD L2 fix to whatsnew
fix: add missing str formatting operator
DOC dependency installation with yum (Red Hat, CentOS)
FIX bug (swapped args) in chi2

Added a non-regression test.
FIX yet another chi2 bug
ENH remove pos_label argument with multilabel binary indicator format
ENH remove warnings at testing time
Documentation ERROR: mixture.DPGMM.precs_

in the code: mixture.DPGMM.precs_
in the doc: mixture.DPGMM.precisions_
Move balance_weights out of preprocessing.

See #1763.
Minimal spanning tree backported from scipy 0.13

No tests in this commit
Added test