TlsSocket: Implement TlsConnectionFactory::Connect

Defines TlsConnectionFactory::Connect using BoringSSL commands and lower
level socket commands. UnitTests are sparse due to non-support for UTs
in the BoringSSL library - see parallel discussion in Team chat for
further details and ongoing discussion

Change-Id: I5ceec7d01db26125456a217784fad5120479a42c
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1793713
Commit-Queue: Ryan Keane <rwkeane@google.com>
Reviewed-by: Max Yakimakha <yakimakha@chromium.org>
Reviewed-by: Jordan Bayles <jophba@chromium.org>
diff --git a/platform/impl/stream_socket.h b/platform/impl/stream_socket.h
index 83e3586..ec046b0 100644
--- a/platform/impl/stream_socket.h
+++ b/platform/impl/stream_socket.h
@@ -52,6 +52,9 @@
   // Returns the connected remote address, if socket is connected.
   virtual absl::optional<IPEndpoint> remote_address() const = 0;
 
+  // Returns the local address, if one is assigned.
+  virtual absl::optional<IPEndpoint> local_address() const = 0;
+
   // Returns the state of the socket.
   virtual SocketState state() const = 0;