Support building QUIC with GCE target constraint.

Most of this works by making GCE builds use the cross-platform polyfills we already use for platforms like Android.

This amends the *_BUG macros, and includes the SimpleEpollServer from
third_party/epoll_server instead of the internal one. Many other changes
are required to bring the portable google3 tests and flags up to
compilation.

Protected by gfe changes are build-only compatibility declarations.

PiperOrigin-RevId: 366069092
Change-Id: Ia5cf90f9f37e592536a1be830679a0cae9ae2eb7
diff --git a/spdy/core/spdy_framer.cc b/spdy/core/spdy_framer.cc
index 19e53b6..bc7cd17 100644
--- a/spdy/core/spdy_framer.cc
+++ b/spdy/core/spdy_framer.cc
@@ -407,7 +407,6 @@
   return *(frame_ir_.get());
 }
 
-// TODO(yasong): remove all the static_casts.
 std::unique_ptr<SpdyFrameSequence> SpdyFramer::CreateIterator(
     SpdyFramer* framer,
     std::unique_ptr<const SpdyFrameIR> frame_ir) {
@@ -419,8 +418,8 @@
     }
     case SpdyFrameType::PUSH_PROMISE: {
       return std::make_unique<SpdyPushPromiseFrameIterator>(
-          framer, absl::WrapUnique(
-                      static_cast<const SpdyPushPromiseIR*>(frame_ir.release())));
+          framer, absl::WrapUnique(static_cast<const SpdyPushPromiseIR*>(
+                      frame_ir.release())));
     }
     case SpdyFrameType::DATA: {
       SPDY_DVLOG(1) << "Serialize a stream end DATA frame for VTL";