Fix compilation in Visual C++ 2013.

I had to fix the following things to make Ceres compile in 2013:
 * Not link to 'm' (GNU math library).
 * Excplicitly convert an std::ostream to bool.
 * Include <algorithm> for std::max.

Change-Id: I3ff65413baf8711364360d46dd71fd553fa63e72
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
index 28eec9b..ac96de8 100644
--- a/examples/CMakeLists.txt
+++ b/examples/CMakeLists.txt
@@ -41,11 +41,13 @@
 TARGET_LINK_LIBRARIES(curve_fitting ceres)
 
 ADD_EXECUTABLE(curve_fitting_c curve_fitting.c)
+TARGET_LINK_LIBRARIES(curve_fitting_c ceres)
 # As this is a C file #including <math.h> we have to explicitly add the math
 # library (libm). Although some compilers (dependent upon options) will accept
 # the indirect link to libm via Ceres, at least GCC 4.8 on pure Debian won't.
-TARGET_LINK_LIBRARIES(curve_fitting_c ceres m)
-
+IF (NOT MSVC)
+  TARGET_LINK_LIBRARIES(curve_fitting_c m)
+ENDIF (NOT MSVC)
 
 ADD_EXECUTABLE(robust_curve_fitting robust_curve_fitting.cc)
 TARGET_LINK_LIBRARIES(robust_curve_fitting ceres)
diff --git a/examples/pgm_image.h b/examples/pgm_image.h
index 15e99e4..1328d75 100644
--- a/examples/pgm_image.h
+++ b/examples/pgm_image.h
@@ -197,7 +197,7 @@
     outputfile << static_cast<int>(data_[i] + 0.5) << ' ';
   }
 
-  return outputfile;  // Returns true/false
+  return bool(outputfile);  // Returns true/false
 }
 
 namespace  {
diff --git a/internal/ceres/test_util.cc b/internal/ceres/test_util.cc
index a3f67bd..8af48ab 100644
--- a/internal/ceres/test_util.cc
+++ b/internal/ceres/test_util.cc
@@ -30,6 +30,7 @@
 //
 // Utility functions useful for testing.
 
+#include <algorithm>
 #include <cmath>
 #include "ceres/file.h"
 #include "ceres/stringprintf.h"