Fix incorrect host time after setting BMC time in NTP/Split

The time tests find an issue that after NTP/BMC is changed to
NTP/Split, setting BMC time will cause host time change.

The root cause is that it fails to set BMC time (which is expected)
but still invokes notifyBmcTimeChange(), which cause host to
re-calculate the offset.

The fix is to not invoke notifyBmcTimeChange() on failure to set BMC
time.

Change-Id: Id13b5fa8ba7def764eab8afad23661f9b0be37ce
Signed-off-by: Lei YU <mine260309@gmail.com>
diff --git a/epoch_base.cpp b/epoch_base.cpp
index dc21c67..bab5d3b 100644
--- a/epoch_base.cpp
+++ b/epoch_base.cpp
@@ -38,7 +38,7 @@
 }
 
 using namespace std::chrono;
-void EpochBase::setTime(const microseconds& usec)
+bool EpochBase::setTime(const microseconds& usec)
 {
     auto method = bus.new_method_call(SYSTEMD_TIME_SERVICE,
                                       SYSTEMD_TIME_PATH,
@@ -50,8 +50,12 @@
     auto reply = bus.call(method);
     if (reply.is_method_error())
     {
+        // TODO: When sdbus supports exception on property
+        // it can just throw exception instead of returning bool
         log<level::ERR>("Error in setting system time");
+        return false;
     }
+    return true;
 }
 
 microseconds EpochBase::getTime() const