psu-ng: Updates to get VPD data to inventory

Add in code to retrieve the VPD data and populate that data to the D-Bus
inventory properties.

Use the PMBus utilities to retrieve the model (CCIN for IBM power
supplies), part number, serial number, and firmware version information
from the sysfs "files" provided via the device driver.

Only build in IBM VPD data collection and reporting if meson ran with
-Dibm-vpd=true.

Tested:
    Copied SDK build of phospor-psu-monitor with -Dibm-vpd=true to
    Rainier hardware system, verified inventory properties updated/added.

Signed-off-by: Brandon Wyman <bjwyman@gmail.com>
Change-Id: I61688b154ead570e9d9390342596bf7d840f4dce
diff --git a/pmbus.hpp b/pmbus.hpp
index 123e4fd..1ca6536 100644
--- a/pmbus.hpp
+++ b/pmbus.hpp
@@ -142,6 +142,7 @@
     virtual ~PMBusBase() = default;
 
     virtual uint64_t read(const std::string& name, Type type) = 0;
+    virtual std::string readString(const std::string& name, Type type) = 0;
     virtual void writeBinary(const std::string& name, std::vector<uint8_t> data,
                              Type type) = 0;
 };
@@ -269,7 +270,7 @@
      *
      * @return string - The data read from the file.
      */
-    std::string readString(const std::string& name, Type type);
+    std::string readString(const std::string& name, Type type) override;
 
     /**
      * Read data from a binary file in sysfs.