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
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
Moved mst to a subfolder and added a README file
Added new files (from previous commit)
DOC Detail on parent-child relationship in tree
Merge pull request #2031 from jnothman/tree_comments

DOC Detail on parent-child relationship in tree
FIX #2032, FIX #2033: ensure module names consistency with __all__
Remove redundant test that was checked in by mistake
Merge pull request #1914 from fabianp/ridge_svd

MRG - Add SVD-based solver to ridge regression.
FIX/COSMIT helper to identify target types

* Fixes bugs related to simply checking type(..) equality
* Refactors metrics and preprocessing
* Invalidates mix of sequences of sequences and label indicators in
  metrics
* Invalidates row vectors in metrics
* Fixes bug where single-class target led to incorrect F-score
FIX cannot use set notation for Py2.6
FIX need explicit dtype for array of sequences in numpy 1.3
COSMIT remove redundant target size check

This error is already being raised by check_arrays