Add prototype of ILUTP factorization for a more robust preconditioner.

Also change some details in implementation for performance issue.