GN: Introduce templates.

Defines the rtc_executable, rtc_source_set, rtc_test and
rtc_static_library templates.

These templates provide no functionality yet, but will enable common
configuration to be introduced, avoiding repetition in every target

Changes summary:
- Prepend rtc_ to test, source_set, executable and static_library targets
- Change "configs -= [" to "suppressed_configs += ["
- Include webrtc/build/webrtc.gni where it wasn't included yet
- Delete import("//testing/test.gni"), since rtc_test makes it unnecessary.

BUG=webrtc:6187
TBR=henrik.lundin@webrtc.org,tommi@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2301053002
Cr-Commit-Position: refs/heads/master@{#14043}
diff --git a/webrtc/sdk/BUILD.gn b/webrtc/sdk/BUILD.gn
index 0f63127..69ec091 100644
--- a/webrtc/sdk/BUILD.gn
+++ b/webrtc/sdk/BUILD.gn
@@ -18,7 +18,7 @@
     ]
   }
 
-  source_set("rtc_sdk_common_objc") {
+  rtc_source_set("rtc_sdk_common_objc") {
     deps = [
       "../base:rtc_base",
     ]
@@ -69,7 +69,7 @@
     }
   }
 
-  source_set("rtc_sdk_peerconnection_objc") {
+  rtc_source_set("rtc_sdk_peerconnection_objc") {
     sources = [
       "objc/Framework/Classes/RTCAVFoundationVideoSource+Private.h",
       "objc/Framework/Classes/RTCAVFoundationVideoSource.mm",
@@ -195,7 +195,7 @@
     if (is_clang) {
       # Suppress warnings from the Chromium Clang plugins.
       # See http://code.google.com/p/webrtc/issues/detail?id=163 for details.
-      configs -= [ "//build/config/clang:find_bad_constructs" ]
+      suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
     }
 
     libs += [ "AVFoundation.framework" ]