address svds returning nans for zero input matrix

fixes https://github.com/scipy/scipy/issues/3452 and passes sparse.linalg tests locally
The if statement becomes redundant and can be replaced with `herm = lambda x: x.T.conj()` --- conj() is defined also for real arrays