Solve No Previous Prototype GCC warning

In some cases there were missing includes of own
header files from implementation files.

In other cases moved function which are only used
within single file into an anonymous namespace.

Change-Id: I2c6b411bcfbc521e2a5f21265dc8e009a548b1c8
diff --git a/internal/ceres/residual_block_utils.cc b/internal/ceres/residual_block_utils.cc
index ff18e21..4d88a9f 100644
--- a/internal/ceres/residual_block_utils.cc
+++ b/internal/ceres/residual_block_utils.cc
@@ -63,6 +63,7 @@
 
 // Utility routine to print an array of doubles to a string. If the
 // array pointer is NULL, it is treated as an array of zeros.
+namespace {
 void AppendArrayToString(const int size, const double* x, string* result) {
   for (int i = 0; i < size; ++i) {
     if (x == NULL) {
@@ -76,6 +77,7 @@
     }
   }
 }
+}  // namespace
 
 string EvaluationToString(const ResidualBlock& block,
                           double const* const* parameters,