Update to boost 1.83.0

In boost 1.83.0, the boost::url maintainers deprecated the header only
usage of the library without warning.  A discussion with the
maintainers[1] made it clear that they removed the abiliy on purpose,
and they're not going to add it back or add a deprecation strategy (they
did say they would update the documentation to actually match the
intent), and that from here on in we should be using the cmake boost
project to pull in the non-header-only boost libraries we use (which at
this point is ONLY boost url).

This commit updates to remove the usage of boost::urls::result typedef,
which was deprecated in this release (which causes a compile error) and
moves it to boost::system::result.

In addition, it updates our meson files to pull in the boost project as
a cmake dependency.

[1] https://cpplang.slack.com/archives/C01JR6C9C4U/p1696441238739129

Tested: Not yet.

Change-Id: Ia7adfc0348588915440687c3ab83a1de3e6b845a
Signed-off-by: Ed Tanous <edtanous@google.com>
diff --git a/redfish-core/include/event_service_manager.hpp b/redfish-core/include/event_service_manager.hpp
index ed02c40..5ea30df 100644
--- a/redfish-core/include/event_service_manager.hpp
+++ b/redfish-core/include/event_service_manager.hpp
@@ -642,7 +642,7 @@
             std::shared_ptr<persistent_data::UserSubscription> newSub =
                 it.second;
 
-            boost::urls::result<boost::urls::url> url =
+            boost::system::result<boost::urls::url> url =
                 boost::urls::parse_absolute_uri(newSub->destinationUrl);
 
             if (!url)
diff --git a/redfish-core/include/redfish_aggregator.hpp b/redfish-core/include/redfish_aggregator.hpp
index e5ad88a..5df43a6 100644
--- a/redfish-core/include/redfish_aggregator.hpp
+++ b/redfish-core/include/redfish_aggregator.hpp
@@ -80,7 +80,7 @@
         parseCount--;
     }
 
-    boost::urls::result<boost::urls::url_view> parsedUrl =
+    boost::system::result<boost::urls::url_view> parsedUrl =
         boost::urls::parse_relative_ref(
             uri.substr(serviceRootUri.size(), parseCount));
     if (!parsedUrl)
diff --git a/redfish-core/include/utils/telemetry_utils.hpp b/redfish-core/include/utils/telemetry_utils.hpp
index c5c88fa..ac1411c 100644
--- a/redfish-core/include/utils/telemetry_utils.hpp
+++ b/redfish-core/include/utils/telemetry_utils.hpp
@@ -66,7 +66,7 @@
     size_t uriIdx = 0;
     for (const std::string& uri : uris)
     {
-        boost::urls::result<boost::urls::url_view> parsed =
+        boost::system::result<boost::urls::url_view> parsed =
             boost::urls::parse_relative_ref(uri);
 
         if (!parsed)
diff --git a/redfish-core/lib/certificate_service.hpp b/redfish-core/lib/certificate_service.hpp
index 4400596..10931c4 100644
--- a/redfish-core/lib/certificate_service.hpp
+++ b/redfish-core/lib/certificate_service.hpp
@@ -505,7 +505,7 @@
     }
     BMCWEB_LOG_INFO("Certificate URI to replace: {}", certURI);
 
-    boost::urls::result<boost::urls::url> parsedUrl =
+    boost::system::result<boost::urls::url> parsedUrl =
         boost::urls::parse_relative_ref(certURI);
     if (!parsedUrl)
     {
diff --git a/redfish-core/lib/ethernet.hpp b/redfish-core/lib/ethernet.hpp
index 0f35f7e..bd44677 100644
--- a/redfish-core/lib/ethernet.hpp
+++ b/redfish-core/lib/ethernet.hpp
@@ -1872,7 +1872,7 @@
         }
         BMCWEB_LOG_INFO("Parent Interface URI: {}", parentInterfaceUri);
 
-        boost::urls::result<boost::urls::url_view> parsedUri =
+        boost::system::result<boost::urls::url_view> parsedUri =
             boost::urls::parse_relative_ref(parentInterfaceUri);
         if (!parsedUri)
         {
diff --git a/redfish-core/lib/event_service.hpp b/redfish-core/lib/event_service.hpp
index 89c2337..c1ad0d8 100644
--- a/redfish-core/lib/event_service.hpp
+++ b/redfish-core/lib/event_service.hpp
@@ -318,7 +318,7 @@
             }
         }
 
-        boost::urls::result<boost::urls::url> url =
+        boost::system::result<boost::urls::url> url =
             boost::urls::parse_absolute_uri(destUrl);
         if (!url)
         {
diff --git a/redfish-core/lib/trigger.hpp b/redfish-core/lib/trigger.hpp
index 48e348e..3388580 100644
--- a/redfish-core/lib/trigger.hpp
+++ b/redfish-core/lib/trigger.hpp
@@ -246,7 +246,7 @@
 inline std::optional<sdbusplus::message::object_path>
     getReportPathFromReportDefinitionUri(const std::string& uri)
 {
-    boost::urls::result<boost::urls::url_view> parsed =
+    boost::system::result<boost::urls::url_view> parsed =
         boost::urls::parse_relative_ref(uri);
 
     if (!parsed)
@@ -543,7 +543,7 @@
     size_t uriIdx = 0;
     for (const std::string& uriStr : *ctx.metricProperties)
     {
-        boost::urls::result<boost::urls::url_view> uri =
+        boost::system::result<boost::urls::url_view> uri =
             boost::urls::parse_relative_ref(uriStr);
         if (!uri)
         {
diff --git a/redfish-core/lib/virtual_media.hpp b/redfish-core/lib/virtual_media.hpp
index d854ee5..95cbdf1 100644
--- a/redfish-core/lib/virtual_media.hpp
+++ b/redfish-core/lib/virtual_media.hpp
@@ -128,7 +128,7 @@
  */
 inline std::string getTransferProtocolTypeFromUri(const std::string& imageUri)
 {
-    boost::urls::result<boost::urls::url_view> url =
+    boost::system::result<boost::urls::url_view> url =
         boost::urls::parse_uri(imageUri);
     if (!url)
     {
@@ -553,7 +553,7 @@
 
         return;
     }
-    boost::urls::result<boost::urls::url_view> url =
+    boost::system::result<boost::urls::url_view> url =
         boost::urls::parse_uri(*actionParams.imageUrl);
     if (!url)
     {