Implement Software.Extended Version

- Populate the ExtendedVersion object from MANIFEST
- Create an ExtendedVersion object

Change-Id: I13e352d4cb8f4a73259a940f341a736fe7e9305f
Signed-off-by: Chanh Nguyen <chanh@amperemail.onmicrosoft.com>
diff --git a/image_manager.cpp b/image_manager.cpp
index 36ec0bc..dae8fdf 100644
--- a/image_manager.cpp
+++ b/image_manager.cpp
@@ -171,6 +171,10 @@
                         " Setting to Unknown.");
     }
 
+    // Get ExtendedVersion
+    std::string extendedVersion =
+        Version::getValue(manifestPath.string(), "ExtendedVersion");
+
     // Compute id
     auto id = Version::getId(version);
 
@@ -200,7 +204,8 @@
     {
         // Create Version object
         auto versionPtr = std::make_unique<Version>(
-            bus, objPath, version, purpose, imageDirPath.string(),
+            bus, objPath, version, purpose, extendedVersion,
+            imageDirPath.string(),
             std::bind(&Manager::erase, this, std::placeholders::_1));
         versionPtr->deleteObject =
             std::make_unique<phosphor::software::manager::Delete>(bus, objPath,