Prepare for boost::url upgrade

The new boost URL now interops properly with std::string_view, which is
great, and cleans up a bunch of mediocre code to convert one to another.
It has also been pulled into boost-proper, so we no longer need a
boost-url dependency that's separate.

Unfortunately, boost url makes these improvements by changing
boost::string_view for boost::urls::const_string, which causes us to
have some compile errors on the missing type.

The bulk of these changes fall into a couple categories, and have to be
executed in one commit.
string() is replaced with buffer() on the url and url_view types
boost::string_view is replaced by std::string_view for many times, in
many cases removing a temporary that we had in the code previously.

Tested: Code compiles with boost 1.81.0 beta.
Redfish service validator passes.
Pretty good unit test coverage for URL-specific use cases.

Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I8d3dc89b53d1cc390887fe53605d4867f75f76fd
diff --git a/http/websocket.hpp b/http/websocket.hpp
index ecaa1d2..3e4ef0c 100644
--- a/http/websocket.hpp
+++ b/http/websocket.hpp
@@ -218,8 +218,8 @@
                 }
                 if (closeHandler)
                 {
-                    std::string_view reason = ws.reason().reason;
-                    closeHandler(*this, std::string(reason));
+                    std::string reason{ws.reason().reason.c_str()};
+                    closeHandler(*this, reason);
                 }
                 return;
             }