Enable warnings as errors during tests (#10482)

* Enable warnings as errors by default for test builds

* Fixing C++ warnings

* Adding host flags, and enabling warnings as error for non-C++ too

* Switch to BUILD copts instead of bazelrc to treat Windows as a snowflake

* Disable warnings as errors on Windows, since it doesn't like the c++14 flag
diff --git a/conformance/conformance_cpp.cc b/conformance/conformance_cpp.cc
index 95a0a00..6956285 100644
--- a/conformance/conformance_cpp.cc
+++ b/conformance/conformance_cpp.cc
@@ -87,7 +87,7 @@
 }
 
 absl::Status WriteFd(int fd, const void* buf, size_t len) {
-  if (write(fd, buf, len) != len) {
+  if (static_cast<size_t>(write(fd, buf, len)) != len) {
     return absl::ErrnoToStatus(errno, "error reading to test runner");
   }
   return absl::OkStatus();