Activation: remove old objects after update done

The update on PSUs is one-by-one, after each PSU is updated, notify
ItemUpdater by onUpdateDone() so that the old object for the PSU is
removed.

Tested: With dummy PSU image and update service, verify the old
        objects are removed on Witherspoon.

Change-Id: I212b8cba9570ad96083d362bf57691fdabb4e42f
diff --git a/src/activation.cpp b/src/activation.cpp
index cab9acd..ca8c7df 100644
--- a/src/activation.cpp
+++ b/src/activation.cpp
@@ -127,9 +127,11 @@
     auto assocs = associations();
     assocs.emplace_back(ACTIVATION_FWD_ASSOCIATION, ACTIVATION_REV_ASSOCIATION,
                         currentUpdatingPsu);
-    currentUpdatingPsu.clear();
     associations(assocs);
 
+    activationListener->onUpdateDone(versionId, currentUpdatingPsu);
+    currentUpdatingPsu.clear();
+
     psuQueue.pop();
     doUpdate(); // Update the next psu
 }
@@ -218,7 +220,6 @@
     storeImage();
     activationProgress->progress(100);
 
-    // TODO: delete the old software object
     deleteImageManagerObject();
 
     associationInterface->createActiveAssociation(objPath);