FIXED: sparse preconditioner no longer calculated multiple times

Also changed column ordering method to one that favors diagonally
dominate matricies.  This seems to have fixed the earlier issues with
singular factors.  More testing is required.