Make res_init() work again.

Change 75830fb836621ebbcf68155e466983eb231f9ca1 to fix _nres
initialization to be thread safe accidentally introduced a behavior
change whereby res_init() became a no-op. It also failed to remove all
direct accesses to _nres.

Move the file over to C++ so we can let RAII ensure we're always holding
a lock while using the global state, make all callers access the global
state via this class, and restore the previous behavior of res_init().

Test: atest DnsResolverTest
Bug: 166235340
Change-Id: Ib390a7eac063bc0ff5eeba755e8c74ef1383004e
diff --git a/libc/Android.bp b/libc/Android.bp
index 4084b96..0cfa53c 100644
--- a/libc/Android.bp
+++ b/libc/Android.bp
@@ -274,7 +274,7 @@
 
     defaults: ["libc_defaults"],
     srcs: [
-        "dns/**/*.c",
+        "dns/**/*.c*",
 
         "upstream-netbsd/lib/libc/isc/ev_streams.c",
         "upstream-netbsd/lib/libc/isc/ev_timers.c",