Add Storage Health & Update Systems Health

This adds health to storage based on drive inventory and
updates systems health to include drives.

This also fixes properties that are manditory in drives to
make this patch pass the validator.

Tested:

Validator Passed.

Failed a drive and saw:

{
    "@odata.context": "/redfish/v1/$metadata#Storage.Storage",
    "@odata.id": "/redfish/v1/Systems/system/Storage/1",
    "@odata.type": "#Storage.v1_7_1.Storage",
    "Drives": [
        {
            "@odata.id": "/redfish/v1/Systems/system/Storage/1/Drive/Drive_1"
        },
        {
            "@odata.id": "/redfish/v1/Systems/system/Storage/1/Drive/Drive_2"
        },
        {
            "@odata.id": "/redfish/v1/Systems/system/Storage/1/Drive/Drive_3"
        },
        {
            "@odata.id": "/redfish/v1/Systems/system/Storage/1/Drive/Drive_4"
        },
        {
            "@odata.id": "/redfish/v1/Systems/system/Storage/1/Drive/Drive_5"
        },
        {
            "@odata.id": "/redfish/v1/Systems/system/Storage/1/Drive/Drive_6"
        },
        {
            "@odata.id": "/redfish/v1/Systems/system/Storage/1/Drive/Drive_7"
        },
        {
            "@odata.id": "/redfish/v1/Systems/system/Storage/1/Drive/Drive_8"
        }
    ],
    "Drives@odata.count": 8,
    "Id": "1",
    "Name": "Storage Controller",
    "Status": {
        "Health": "Warning",
        "HealthRollup": "Warning",
        "State": "Enabled"
   }
}

And In systems:

    "Status": {
        "Health": "Warning",
        "HealthRollup": "Warning",
        "State": "Enabled"
    },

Change-Id: I7abf042ac51b1fbe9e4ee0b72876e9be96e60b7c
Signed-off-by: James Feist <james.feist@linux.intel.com>
diff --git a/redfish-core/lib/systems.hpp b/redfish-core/lib/systems.hpp
index c51f37d..707eca9 100644
--- a/redfish-core/lib/systems.hpp
+++ b/redfish-core/lib/systems.hpp
@@ -1628,9 +1628,10 @@
         };
         auto asyncResp = std::make_shared<AsyncResp>(res);
 
-        constexpr const std::array<const char *, 2> inventoryForSystems = {
+        constexpr const std::array<const char *, 3> inventoryForSystems = {
             "xyz.openbmc_project.Inventory.Item.Dimm",
-            "xyz.openbmc_project.Inventory.Item.Cpu"};
+            "xyz.openbmc_project.Inventory.Item.Cpu",
+            "xyz.openbmc_project.Inventory.Item.Drive"};
 
         auto health = std::make_shared<HealthPopulate>(asyncResp);
         crow::connections::systemBus->async_method_call(