Make prefixes optional in listInstanceToString

For libyang, I need a version without prefixes. Side note: the call in
SysrepoAccess would also work without the prefixes, but I'm going to
leave them, so that the functionality doesn't change.

Change-Id: I0c309288ec39ec3f5e835050fb73a5238ebe8e33
diff --git a/src/utils.cpp b/src/utils.cpp
index cf789b7..e151417 100644
--- a/src/utils.cpp
+++ b/src/utils.cpp
@@ -243,12 +243,13 @@
     return res;
 }
 
-std::string instanceToString(const std::string& modName, const ListInstance& instance)
+std::string instanceToString(const ListInstance& instance, const std::optional<std::string>& modName)
 {
     std::string instanceStr;
+    auto modulePrefix = modName ? *modName + ":" : "";
     for (const auto& [key, value] : instance) {
         using namespace std::string_literals;
-        instanceStr += "[" + modName + ":" + key + "=" + escapeListKeyString(leafDataToString(value)) + "]";
+        instanceStr += "[" + modulePrefix + key + "=" + escapeListKeyString(leafDataToString(value)) + "]";
     }
     return instanceStr;
 }