slot: Add an empty constructor

We already support releasing slots to empty them early, allow it to be
constructed empty as well. It's safe to use the concrete impl as nullptr
is always just a noop.

Change-Id: Ie783b71c047396a8059fc6924da7ce7eb16734a5
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/include/sdbusplus/slot.hpp b/include/sdbusplus/slot.hpp
index f4bbe55..b91df69 100644
--- a/include/sdbusplus/slot.hpp
+++ b/include/sdbusplus/slot.hpp
@@ -40,6 +40,10 @@
  */
 struct slot
 {
+    /** @brief Empty (unused) slot */
+    slot() : _slot(nullptr, details::SlotDeleter(&sdbus_impl)) {}
+    explicit slot(std::nullptr_t) : slot() {}
+
     /** @brief Conversion constructor for 'slotp_t'.
      *
      *  Takes ownership of the slot-pointer and releases it when done.