SPARK-1782: svd for sparse matrix using ARPACK

copy ARPACK dsaupd/dseupd code from latest breeze
change RowMatrix to use sparse SVD
change tests for sparse SVD

All tests passed. I will run it against some large matrices.
Sorry, I missed this in the first pass. This class is not used any where. Please remove it. Also, it is hard to maintain binary compatibility if we have both a case class and a companion object.