rtc_stats: Update code to remove chromium style warnings suppression.

The warning previously suppressed made it possible to define tings like
constructors in the header, and "complex" objects did not need to have
an explicit out-of-line copy constructor, destructor, etc.

To be able to not suppress this warning, the RTCStats macro was split
into a WEBRTC_RTCSTATS_DECL() and WEBRTC_RTCSTATS_IMPL() for .h and .cc
respectively. Some copy constructors are also defined.

BUG=chromium:627816

Review-Url: https://codereview.webrtc.org/2373503002
Cr-Original-Commit-Position: refs/heads/master@{#14545}
Cr-Mirrored-From: https://chromium.googlesource.com/external/webrtc
Cr-Mirrored-Commit: fc5e0504ea0dd341046779881908d4640617a2f0
diff --git a/api/rtcstatscollector_unittest.cc b/api/rtcstatscollector_unittest.cc
index 020a759..14abbd2 100644
--- a/api/rtcstatscollector_unittest.cc
+++ b/api/rtcstatscollector_unittest.cc
@@ -140,17 +140,17 @@
 
 class RTCTestStats : public RTCStats {
  public:
+  WEBRTC_RTCSTATS_DECL();
+
   RTCTestStats(const std::string& id, int64_t timestamp_us)
       : RTCStats(id, timestamp_us),
         dummy_stat("dummyStat") {}
 
-  WEBRTC_RTCSTATS_IMPL(RTCStats, RTCTestStats,
-      &dummy_stat);
-
   RTCStatsMember<int32_t> dummy_stat;
 };
 
-const char RTCTestStats::kType[] = "test-stats";
+WEBRTC_RTCSTATS_IMPL(RTCTestStats, RTCStats, "test-stats",
+    &dummy_stat);
 
 // Overrides the stats collection to verify thread usage and that the resulting
 // partial reports are merged.