make SparseMatrixCSC and SparseVector work on non-numerical values (#30580)
* make SparseMatrixCSC and SparseVector work on non-numerical values
* remove tests for sparse structures with TV=String as it is no longer supported
* define zero(T) and zero(x::T) for user defined types in tests
* fix test
* Remove recently added test of sparse matrix with string elements