First cut at changes discussed in issue #3423

This version also needs cleaning (the two cholfact methods defined in the loop should be condensed to one) but I am putting this up for others to see what I meant.
Merge pull request #3460 from JuliaLang/db/sparsecholfact

First cut at changes discussed in issue #3423