New Trust region loop.

1. New TrustRegionMinimizer and basic tests for it.
2. New TrustRegionStrategy interface.
3. New LevenbergMarquardtStrategy and tests for it.
4. Updates to SolverImpl to reflect this.
5. Changes to Solver::Options and IterationSummary related to this.
6. Deleted levenberg_marquardt.cc/h/_test.cc

Change-Id: I6c1d1a7c774f014856f9f26263a830aa886e1400
diff --git a/examples/bundle_adjuster.cc b/examples/bundle_adjuster.cc
index 0331f32..718fde9 100644
--- a/examples/bundle_adjuster.cc
+++ b/examples/bundle_adjuster.cc
@@ -64,15 +64,12 @@
 #include "ceres/ceres.h"
 
 DEFINE_string(input, "", "Input File name");
-
 DEFINE_string(solver_type, "sparse_schur", "Options are: "
               "sparse_schur, dense_schur, iterative_schur, cholesky, "
               "dense_qr, and conjugate_gradients");
-
 DEFINE_string(preconditioner_type, "jacobi", "Options are: "
               "identity, jacobi, schur_jacobi, cluster_jacobi, "
               "cluster_tridiagonal");
-
 DEFINE_int32(num_iterations, 5, "Number of iterations");
 DEFINE_int32(num_threads, 1, "Number of threads");
 DEFINE_double(eta, 1e-2, "Default value for eta. Eta determines the "
@@ -201,9 +198,9 @@
 
 void SetSolverOptionsFromFlags(BALProblem* bal_problem,
                                Solver::Options* options) {
+  SetMinimizerOptions(options);
   SetLinearSolver(options);
   SetOrdering(bal_problem, options);
-  SetMinimizerOptions(options);
 }
 
 void BuildProblem(BALProblem* bal_problem, Problem* problem) {