Merge remote-tracking branch 'github/AddPardiso' into AddPardiso
add the mechanism for choosing solver

- NEW : add the parameter, solver
- ENH : solver can be chosen
- ENH : enhance the matrix solver class to use pardiso