Use the top-level ::benchmark namespace to resolve `make_unique`

Fixes #1959
diff --git a/include/benchmark/benchmark.h b/include/benchmark/benchmark.h
index c9a758b..624ab29 100644
--- a/include/benchmark/benchmark.h
+++ b/include/benchmark/benchmark.h
@@ -1391,7 +1391,8 @@
 inline internal::Benchmark* RegisterBenchmark(const std::string& name,
                                               internal::Function* fn) {
   return internal::RegisterBenchmarkInternal(
-      benchmark::internal::make_unique<internal::FunctionBenchmark>(name, fn));
+      ::benchmark::internal::make_unique<internal::FunctionBenchmark>(name,
+                                                                      fn));
 }
 
 template <class Lambda>
@@ -1399,8 +1400,8 @@
   using BenchType =
       internal::LambdaBenchmark<typename std::decay<Lambda>::type>;
   return internal::RegisterBenchmarkInternal(
-      benchmark::internal::make_unique<BenchType>(name,
-                                                  std::forward<Lambda>(fn)));
+      ::benchmark::internal::make_unique<BenchType>(name,
+                                                    std::forward<Lambda>(fn)));
 }
 
 template <class Lambda, class... Args>
@@ -1464,7 +1465,7 @@
 #define BENCHMARK(...)                                                \
   BENCHMARK_PRIVATE_DECLARE(_benchmark_) =                            \
       (::benchmark::internal::RegisterBenchmarkInternal(              \
-          benchmark::internal::make_unique<                           \
+          ::benchmark::internal::make_unique<                         \
               ::benchmark::internal::FunctionBenchmark>(#__VA_ARGS__, \
                                                         __VA_ARGS__)))
 
@@ -1490,7 +1491,7 @@
 #define BENCHMARK_CAPTURE(func, test_case_name, ...)     \
   BENCHMARK_PRIVATE_DECLARE(_benchmark_) =               \
       (::benchmark::internal::RegisterBenchmarkInternal( \
-          benchmark::internal::make_unique<              \
+          ::benchmark::internal::make_unique<            \
               ::benchmark::internal::FunctionBenchmark>( \
               #func "/" #test_case_name,                 \
               [](::benchmark::State& st) { func(st, __VA_ARGS__); })))
@@ -1506,20 +1507,20 @@
 #define BENCHMARK_TEMPLATE1(n, a)                        \
   BENCHMARK_PRIVATE_DECLARE(n) =                         \
       (::benchmark::internal::RegisterBenchmarkInternal( \
-          benchmark::internal::make_unique<              \
+          ::benchmark::internal::make_unique<            \
               ::benchmark::internal::FunctionBenchmark>(#n "<" #a ">", n<a>)))
 
 #define BENCHMARK_TEMPLATE2(n, a, b)                                          \
   BENCHMARK_PRIVATE_DECLARE(n) =                                              \
       (::benchmark::internal::RegisterBenchmarkInternal(                      \
-          benchmark::internal::make_unique<                                   \
+          ::benchmark::internal::make_unique<                                 \
               ::benchmark::internal::FunctionBenchmark>(#n "<" #a "," #b ">", \
                                                         n<a, b>)))
 
 #define BENCHMARK_TEMPLATE(n, ...)                       \
   BENCHMARK_PRIVATE_DECLARE(n) =                         \
       (::benchmark::internal::RegisterBenchmarkInternal( \
-          benchmark::internal::make_unique<              \
+          ::benchmark::internal::make_unique<            \
               ::benchmark::internal::FunctionBenchmark>( \
               #n "<" #__VA_ARGS__ ">", n<__VA_ARGS__>)))
 
@@ -1541,7 +1542,7 @@
 #define BENCHMARK_TEMPLATE2_CAPTURE(func, a, b, test_case_name, ...) \
   BENCHMARK_PRIVATE_DECLARE(func) =                                  \
       (::benchmark::internal::RegisterBenchmarkInternal(             \
-          benchmark::internal::make_unique<                          \
+          ::benchmark::internal::make_unique<                        \
               ::benchmark::internal::FunctionBenchmark>(             \
               #func "<" #a "," #b ">"                                \
                     "/" #test_case_name,                             \
@@ -1613,7 +1614,7 @@
 #define BENCHMARK_PRIVATE_REGISTER_F(TestName)           \
   BENCHMARK_PRIVATE_DECLARE(TestName) =                  \
       (::benchmark::internal::RegisterBenchmarkInternal( \
-          benchmark::internal::make_unique<TestName>()))
+          ::benchmark::internal::make_unique<TestName>()))
 
 // This macro will define and register a benchmark within a fixture class.
 #define BENCHMARK_F(BaseClass, Method)           \