Increase portability of CMakeLists.txt

- Update CMakeLists.txt (original template and generated code)
  to prevent forcefully linking `dl` on all UNIX platforms,
  and rely on `${CMAKE_DL_LIBS}` portable variable instead.
- Do not try linking against `librt` on macOS.
- Add a `config_freebsd` directory containing the header file
  generated by the `configure` script for the `ares` library.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a965432..0283810 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -269,8 +269,10 @@
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
 endif()
 
-if(UNIX)
-  set(_gRPC_ALLTARGETS_LIBRARIES dl rt m pthread)
+if(_gRPC_PLATFORM_MAC)
+  set(_gRPC_ALLTARGETS_LIBRARIES ${CMAKE_DL_LIBS} m pthread)
+elseif(UNIX)
+  set(_gRPC_ALLTARGETS_LIBRARIES ${CMAKE_DL_LIBS} rt m pthread)
 endif()
 
 if(WIN32 AND MSVC)