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.
improved the comments for ARPACK calls. This part should be moved into breeze's eig object. Here is a temporary solution before switching to the new version of breeze.