ENH: Support LinearOperator as input to svds

This adds support for `LinearOperator` arguments in `scipy.sparse.linalg.svds`. My goal is to perform PCA on sparse matrices. As you know, PCA is SVD on a mean-centered matrix X - μ; the mean-centering is problematic since it destroys sparsity and my matrices don't fit in memory in dense format. Representing X - μ as a composite `LinearOperator` solves this problem.
dtype missing, fails for complex-valued inputs