Db/jlsparse

Move functions that are based on code in the CSparse library of C functions to a separate file `base/linalg/jlsparse.jl`.  Also rearrange the functions in the `base/sparse.jl` and `base/linalg/sparse.jl` files to isolate those that are specific to linear algebra and those that deal more with structure.

This also adds an `etree` function similar to that in MATLAB.