SolverImpl refactoring.

Improve the logic with which various corner cases like
constant program, failures to evaluate initial and final
cost etc are handled.

Change-Id: Id43d45ebe46b65918909d47201d6fb7b89ebbd57
diff --git a/internal/ceres/solver_impl.h b/internal/ceres/solver_impl.h
index dd40e41..09141ae 100644
--- a/internal/ceres/solver_impl.h
+++ b/internal/ceres/solver_impl.h
@@ -126,6 +126,12 @@
   static bool IsParameterBlockSetIndependent(
       const set<double*>& parameter_block_ptrs,
       const vector<ResidualBlock*>& residual_blocks);
+
+  static CoordinateDescentMinimizer* CreateInnerIterationMinimizer(
+      const Solver::Options& options,
+      const Program& program,
+      const ProblemImpl::ParameterMap& parameter_map,
+      string* error);
 };
 
 }  // namespace internal