Telemetry: Add ReportingUpdate property to Report and ReportManager interfaces

- Currently, the Telemetry service only supports `ReportUpdates =
  Overwrite`.

- Right now, there is a requirement: need to support `ReportUpdate =
  AppendWrapsWhenFull` which allows for more than 1 metric report.
  Therefore, we need to add the `ReportingUpdate` property to the
  Report and ReportManager interfaces to obtain the currently
  supported update types.

- Also, add AppendLimit property to Report and ReportManager
  interfaces.

- At the same time, we also need to update the `telemetry` and
  `bmcweb` repositories.

Ref:
  https://redfish.dmtf.org/schemas/v1/MetricReportDefinition.v1_4_0.json

Tested:
- Successful build and verified changes in server.hpp and server.cpp.

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: Id59f60d64c37900962d6d62421530a3917e8e349
diff --git a/xyz/openbmc_project/Telemetry/Report.interface.yaml b/xyz/openbmc_project/Telemetry/Report.interface.yaml
index e26d1e0..54ceb8c 100644
--- a/xyz/openbmc_project/Telemetry/Report.interface.yaml
+++ b/xyz/openbmc_project/Telemetry/Report.interface.yaml
@@ -50,6 +50,12 @@
   - name: ReportingType
     type: enum[self.ReportingType]
     description: Defines how readings are updated.
+  - name: ReportUpdates
+    type: enum[self.ReportUpdates]
+    description: Defines how Readings array is filled.
+  - name: AppendLimit
+    type: size
+    description: Defines a limit of readings per sensor.
   - name: Interval
     type: uint64
     description: >
@@ -82,3 +88,19 @@
        - name: Periodic
          description: >
            After period of time defined by ScanPeriod property.
+   - name: ReportUpdates
+     description: >
+       The type that defines how Readings are updated.
+     values:
+       - name: Overwrite
+         description: >
+           Last sensor reading is written to Readings overwriting the previous
+           value.
+       - name: AppendWrapsWhenFull
+         description: >
+           Append sensor reading to Readings up to limit specify in AppendLimit
+           then start from the beginning.
+       - name: AppendStopsWhenFull
+         description: >
+           Append sensor reading to Readings up to limit specify in AppendLimit
+           then stop till report update.
diff --git a/xyz/openbmc_project/Telemetry/ReportManager.interface.yaml b/xyz/openbmc_project/Telemetry/ReportManager.interface.yaml
index 29482d1..16f0efb 100644
--- a/xyz/openbmc_project/Telemetry/ReportManager.interface.yaml
+++ b/xyz/openbmc_project/Telemetry/ReportManager.interface.yaml
@@ -18,6 +18,12 @@
       - name: reportingType
         type: enum[xyz.openbmc_project.Telemetry.Report.ReportingType]
         description: Defines report type
+      - name: reportUpdates
+        type: enum[xyz.openbmc_project.Telemetry.Report.ReportUpdates]
+        description: Defines report update type
+      - name: appendLimit
+        type: size
+        description: Defines a limit of readings per sensor
       - name: emitsReadingsUpdate
         type: boolean
         description: >