Reland "stats: migrate to Timestamp"

This is a reland of commit 2235776597e2f47ec353ac911428eb9a54d64a10

Original change's description:
> stats: migrate to Timestamp
>
> BUG=webrtc:13756
>
> Change-Id: I04ba57f9c2ca5a974a406814023911b4eb2d6d38
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273942
> Commit-Queue: Philipp Hancke <phancke@microsoft.com>
> Reviewed-by: Henrik Boström <hbos@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#38365}

Bug: webrtc:13756
Change-Id: Ib8dc208197ae5e90f67114e7b043a73ee35421ea
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/279080
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38380}
diff --git a/stats/rtc_stats_report_unittest.cc b/stats/rtc_stats_report_unittest.cc
index 2081364..8af6dbe 100644
--- a/stats/rtc_stats_report_unittest.cc
+++ b/stats/rtc_stats_report_unittest.cc
@@ -53,8 +53,10 @@
 WEBRTC_RTCSTATS_IMPL(RTCTestStats3, RTCStats, "test-stats-3", &string)
 
 TEST(RTCStatsReport, AddAndGetStats) {
-  rtc::scoped_refptr<RTCStatsReport> report = RTCStatsReport::Create(1337);
+  rtc::scoped_refptr<RTCStatsReport> report =
+      RTCStatsReport::Create(Timestamp::Micros(1337));
   EXPECT_EQ(report->timestamp_us(), 1337u);
+  EXPECT_EQ(report->timestamp().us_or(-1), 1337u);
   EXPECT_EQ(report->size(), static_cast<size_t>(0));
   report->AddStats(std::unique_ptr<RTCStats>(new RTCTestStats1("a0", 1)));
   report->AddStats(std::unique_ptr<RTCStats>(new RTCTestStats1("a1", 2)));
@@ -87,8 +89,10 @@
 }
 
 TEST(RTCStatsReport, StatsOrder) {
-  rtc::scoped_refptr<RTCStatsReport> report = RTCStatsReport::Create(1337);
+  rtc::scoped_refptr<RTCStatsReport> report =
+      RTCStatsReport::Create(Timestamp::Micros(1337));
   EXPECT_EQ(report->timestamp_us(), 1337u);
+  EXPECT_EQ(report->timestamp().us_or(-1), 1337u);
   report->AddStats(std::unique_ptr<RTCStats>(new RTCTestStats1("C", 2)));
   report->AddStats(std::unique_ptr<RTCStats>(new RTCTestStats1("D", 3)));
   report->AddStats(std::unique_ptr<RTCStats>(new RTCTestStats2("B", 1)));
@@ -105,7 +109,8 @@
 }
 
 TEST(RTCStatsReport, Take) {
-  rtc::scoped_refptr<RTCStatsReport> report = RTCStatsReport::Create(0);
+  rtc::scoped_refptr<RTCStatsReport> report =
+      RTCStatsReport::Create(Timestamp::Zero());
   report->AddStats(std::unique_ptr<RTCStats>(new RTCTestStats1("A", 1)));
   report->AddStats(std::unique_ptr<RTCStats>(new RTCTestStats1("B", 2)));
   EXPECT_TRUE(report->Get("A"));
@@ -118,13 +123,17 @@
 }
 
 TEST(RTCStatsReport, TakeMembersFrom) {
-  rtc::scoped_refptr<RTCStatsReport> a = RTCStatsReport::Create(1337);
+  rtc::scoped_refptr<RTCStatsReport> a =
+      RTCStatsReport::Create(Timestamp::Micros(1337));
   EXPECT_EQ(a->timestamp_us(), 1337u);
+  EXPECT_EQ(a->timestamp().us_or(-1), 1337u);
   a->AddStats(std::unique_ptr<RTCStats>(new RTCTestStats1("B", 1)));
   a->AddStats(std::unique_ptr<RTCStats>(new RTCTestStats1("C", 2)));
   a->AddStats(std::unique_ptr<RTCStats>(new RTCTestStats1("E", 4)));
-  rtc::scoped_refptr<RTCStatsReport> b = RTCStatsReport::Create(1338);
+  rtc::scoped_refptr<RTCStatsReport> b =
+      RTCStatsReport::Create(Timestamp::Micros(1338));
   EXPECT_EQ(b->timestamp_us(), 1338u);
+  EXPECT_EQ(b->timestamp().us_or(-1), 1338u);
   b->AddStats(std::unique_ptr<RTCStats>(new RTCTestStats1("A", 0)));
   b->AddStats(std::unique_ptr<RTCStats>(new RTCTestStats1("D", 3)));
   b->AddStats(std::unique_ptr<RTCStats>(new RTCTestStats1("F", 5)));