Use *virtual* TimeSolver::linear_solver()

This should also be delegated to the core solver by the adaptive time
solver classes
Merge pull request #381 from libMesh/time_solver_linear_fix

Use *virtual* TimeSolver::linear_solver()