Refactoring of LinearSolver
Refactoring of LinearSolver

LinearSolver uses protected accessor rather than private for all methods
and variables.
LinearSolver.CalculateUnknownDisplacements has been refactored so that
the validity of the matrix is checked before other calculations are
carried out.

iainsproat/SharpFE