Fix circular dependencies between optional, array_view, and rtc_base.

This splits things out of rtc_base and makes dependencies explicit.

Bug: webrtc:6828
Change-Id: Id521896c3c43595349021c857bec216e429a0c8d
Reviewed-on: https://webrtc-review.googlesource.com/32780
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21264}
diff --git a/p2p/BUILD.gn b/p2p/BUILD.gn
index 431e217..3991281 100644
--- a/p2p/BUILD.gn
+++ b/p2p/BUILD.gn
@@ -91,6 +91,7 @@
     "../api:libjingle_peerconnection_api",
     "../api:optional",
     "../api:ortc_api",
+    "../rtc_base:checks",
     "../rtc_base:rtc_base",
     "../system_wrappers:field_trial_api",
   ]
@@ -175,6 +176,7 @@
       ":rtc_p2p",
       "../api:fakemetricsobserver",
       "../api:ortc_api",
+      "../rtc_base:checks",
       "../rtc_base:rtc_base",
       "../rtc_base:rtc_base_approved",
       "../rtc_base:rtc_base_tests_utils",
@@ -199,6 +201,7 @@
   deps = [
     ":rtc_p2p",
     "..:webrtc_common",
+    "../rtc_base:checks",
     "../rtc_base:rtc_base",
   ]
 }
@@ -214,6 +217,7 @@
       ":libstunprober",
       ":p2p_test_utils",
       ":rtc_p2p",
+      "../rtc_base:checks",
       "../rtc_base:rtc_base",
       "../rtc_base:rtc_base_tests_utils",
       "//testing/gmock",