Remove Abseil use from platfrom/api and platform/base.

Replaces Abseil library calls with STL equivalents, or re-implemented
equivalents. In particular, std::variant in ErrorOr<> was replaced with
a raw union (plus ctor/dtor voodoo). Also, cleaned up IPAddress ctors
and parsing routines.

Bug: openscreen:88
Change-Id: Idba4080a7b8e179067313fbcc04758a5463e621a
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1947904
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Reviewed-by: Jordan Bayles <jophba@chromium.org>
Commit-Queue: Yuri Wiitala <miu@chromium.org>
diff --git a/platform/api/socket_integration_unittest.cc b/platform/api/socket_integration_unittest.cc
index fe15377..3014507 100644
--- a/platform/api/socket_integration_unittest.cc
+++ b/platform/api/socket_integration_unittest.cc
@@ -35,7 +35,7 @@
 // successfully Bind(), and that the operating system will return the
 // auto-assigned socket name (i.e., the local endpoint's port will not be zero).
 TEST(SocketIntegrationTest, ResolvesLocalEndpoint_IPv6) {
-  const uint8_t kIpV6AddrAny[16] = {};
+  const uint16_t kIpV6AddrAny[8] = {};
   FakeClock clock(Clock::now());
   FakeTaskRunner task_runner(&clock);
   FakeUdpSocket::MockClient client;