Add LIS (Library of Iterative Solvers) functionality. Can be
interchanged with UMFPACK if necessary. Restructure solver code to make
easy switch between different solver libraries.
Merge remote-tracking branch 'origin/master' into develop