More pre-ordering support. 1. CX_SPARSE supports pre-ordering of the jacobian. 2. Add support for constrained approximate minimum degree ordering for SuiteSparse versions >= 4.2.0 3. Using 2, support for pre-ordering for SPARSE_SCHUR when used with SUITE_SPARSE. 4. Using 2, support for user orderings in SPARSE_NORMAL_CHOLESKY. 5. Minor cleanups in documentation and code all around. 6. Test update and refactoring. Change-Id: Ibfe3ac95d59d54ab14d1d60a07f767688070f29f