dbus-sdr: write-back to fruCache upon modification

ipmiStorageWriteFruData is a read-modify-write cycle:
1) Obtain a copy of the target FRU with getFru()
2) Modify the copy
3) Write modified copy FRU to EEPROM by calling `writeFru(fru)`
   or `writeFru(fruCache)`.

For 3) above, whether `writeFru(fru)` or `writeFru(fruCache)` is
called depends on the value of `atEnd`.
Currently fruCacue is not updated in the atEnd==false branch, where
`writeFru(fruCache)` is called. This may cause the unmodified FRU
content to be written back, as if the write did not happen.
This change adds the write-back operation.

Tested: FRU write works

Signed-off-by: Sui Chen <suichen@google.com>
Change-Id: Idfe76c97a3117289ebf2d98abfecc4c7b8f05ea1
diff --git a/dbus-sdr/storagecommands.cpp b/dbus-sdr/storagecommands.cpp
index ce32773..d5f6d4d 100644
--- a/dbus-sdr/storagecommands.cpp
+++ b/dbus-sdr/storagecommands.cpp
@@ -524,6 +524,7 @@
     }
     else
     {
+        fruCache = fru; // Write-back
         // start a timer, if no further data is sent  to check to see if it is
         // valid
         writeTimer->start(std::chrono::duration_cast<std::chrono::microseconds>(