add PCSetPreSolve(); resolve remaining issues of MR3821
add PCSetPreSolve(); rm several private '#include'; cleanup KKTAddShifts(), PCPreSolve_PDIPM(), TaoSetup_PDIPM()
add PCSetPreSolve(); rm several private '#include'; cleanup KKTAddShifts(), PCPreSolve_PDIPM(), TaoSetup_PDIPM()