SparseMatrixCSC constructors for structured matrices - Diagonal, Tridiagonal, etc. (#32466)
* move "sparse" code for structured matrices to "SparseMatrixCSC"
* spaces between arguments
* don't use fallback sparse(::AbstractMatrix) for structured matrices
* add tests
* fix typo in test