Revised csc_symperm

A more careful reading of the `cs_symperm` function in CSparse was needed.
The CSparse function `cs_cumsum` has unexpected side-effects that need to
be emulated by copying the first `n` positions in the cumulative sum back to
the work vector `w`.  Also, the `w` vector must be initialized to zeros.

The `csc_symperm` function was hidden in the `Base.` namespace and it is doubtful
anyone else ever used it.