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.
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.
Rename csc_symperm to symperm and export it
Add symperm to docs
Merge branch 'db/csc_symperm' of github.com:JuliaLang/julia into db/csc_symperm
Merge pull request #4611 from JuliaLang/db/csc_symperm

Revised csc_symperm