Ports base::win:OSInfo from Chrome to rtc_win in WebRTC.

Enables us to do stuff like:

TEST(WindowsVersion, GetVersionGlobalScopeAccessor) {
  if (GetVersion() < VERSION_WIN10) {
    MethodNotSupportedOnWin10AndLater();
  } else {
    MethodSupportedOnWin10AndLater();
  }
}

which is useful when working with Windows.

Note that, I also port a limited part of base::win::RegKey but only
those parts that are needed to implement OSInfo. Hence, I don't expose
any RegKey APIs.

NOTRY=TRUE

No-Presubmit: True
Bug: webrtc:9265
Change-Id: Ia2fc0963f24044ffaad954aa21d28df9c32b3ee7
Reviewed-on: https://webrtc-review.googlesource.com/77723
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23326}
diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn
index 0ef33fd..aaf974e 100644
--- a/rtc_base/BUILD.gn
+++ b/rtc_base/BUILD.gn
@@ -456,7 +456,11 @@
   }
 
   if (is_win) {
-    sources += [ "file_win.cc" ]
+    sources += [
+      "file_win.cc",
+      "win/windows_version.cc",
+      "win/windows_version.h",
+    ]
     data_deps += [ "//build/win:runtime_libs" ]
   }
 
@@ -1159,6 +1163,9 @@
       "virtualsocket_unittest.cc",
       "zero_memory_unittest.cc",
     ]
+    if (is_win) {
+      sources += [ "win/windows_version_unittest.cc" ]
+    }
     deps = [
       ":checks",
       ":rate_limiter",