Override setting Current mode property

When the Current mode property changes, the persisted value is updated.

Change-Id: I319fbe2afb8112f7425dc0a1d765fe8f1c408bae
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
diff --git a/control/zone.cpp b/control/zone.cpp
index 8408e8d..bc40b7e 100644
--- a/control/zone.cpp
+++ b/control/zone.cpp
@@ -604,6 +604,18 @@
     return empty;
 }
 
+std::string Zone::current(std::string value)
+{
+    auto current = value;
+    if (current != ThermalObject::current())
+    {
+        current = ThermalObject::current(value);
+        saveCurrentMode();
+        // TODO Trigger event(s) for mode property change
+    }
+    return current;
+}
+
 void Zone::saveCurrentMode()
 {
     fs::path path{CONTROL_PERSIST_ROOT_PATH};