Fix build error on register_signal()

After a recent change, a build error started occurring on
register_signal() as it attempts to construct a signal with a string and
an array, but the constructor takes a string and char*.

This adds back the '.data()' to the array, so it can be passed to the
constructor and makes the constructor public to fix the build.

Tested:
Confirmed that a component that calls register_signal() builds
successfully.

Change-Id: I5a3ca58ef705854c5392ae13e0684d8a30580075
Signed-off-by: Jason M. Bills <jason.m.bills@intel.com>
diff --git a/include/sdbusplus/asio/object_server.hpp b/include/sdbusplus/asio/object_server.hpp
index 6123bd4..70237ce 100644
--- a/include/sdbusplus/asio/object_server.hpp
+++ b/include/sdbusplus/asio/object_server.hpp
@@ -71,11 +71,11 @@
 
 class signal
 {
+  public:
     signal(const std::string& name, const char* signature) :
         name_(name), signature_(signature)
     {}
 
-  public:
     std::string name_;
     const char* signature_;
 };
@@ -568,7 +568,7 @@
         static constexpr auto signature = utility::tuple_to_array(
             message::types::type_id<SignalSignature...>());
 
-        signals_.emplace_back(name, signature);
+        signals_.emplace_back(name, signature.data());
         return true;
     }