Remove unused variables in SchurComplement.
Small optimization of code.

- change parts if-else of condition
Add negative definite flag to LinSys.

- add method for setting this flag
- update methods for setting positive definite and symmetric flags
Optimization of SchurComplement solve.

- use negative definite flag for scale second complement in form_schur
- move call form_schur method into solve method
- make form_schur method protected
- update Schur complement unit test