refactor LinearSolvers as ParallelObjects, misc other too