Move alternate linear solver and preconditioner policy. Move functions that determine alternatives to Schur type linear solver and preconditioners into the LinearSolver and Preconditioner interfaces. Change-Id: Iae900afb7db17cdbeb7753497005a48c3144e2d7