Create persistent memory specific interface

Create persistent memory specific interface.
    - Move persistent memory related properties from Dimm
      interface.
    - Keeping only SMBIOS type 17 standard properties under
      Dimm interface.
    - Create sub interfaces to keep things organized under
      new interface.

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

Signed-off-by: Nirmal Patel <nirmal.patel@intel.com>
Change-Id: I48bcab6196b4c840d9e1c53ae8cea1871fc36e67
diff --git a/xyz/openbmc_project/Inventory/Item/Dimm.interface.yaml b/xyz/openbmc_project/Inventory/Item/Dimm.interface.yaml
index a7aaa14..0244a44 100644
--- a/xyz/openbmc_project/Inventory/Item/Dimm.interface.yaml
+++ b/xyz/openbmc_project/Inventory/Item/Dimm.interface.yaml
@@ -57,113 +57,10 @@
       type: uint16
       description: >
           The bus width, in bits.
-    - name: AllowedSpeedsMHz
+    - name: AllowedSpeedsMT
       type: array[uint16]
       description: >
-          Speeds supported by this memory.
-    - name: MaxAveragePowerLimitmW
-      type: array[uint32]
-      description: >
-          Set of maximum power budgets supported by the memory in milliwatts.
-    - name: SpareDeviceCount
-      type: byte
-      description: >
-          Number of unused spare devices available in the memory.
-    - name: Socket
-      type: uint16
-      description: >
-          The socket number to which the memory is connected.
-    - name: MemoryController
-      type: uint16
-      description: >
-          The memory controller number to which the memory is connected.
-    - name: Channel
-      type: uint16
-      description: >
-          The channel number to which the memory is connected.
-    - name: Slot
-      type: uint16
-      description: >
-          The slot number to which the memory is connected.
-    - name: VolatileRegionSizeLimitKiB
-      type: uint32
-      description: >
-          Total size of volatile regions in kibibytes (KiB).
-    - name: PmRegionSizeLimitKiB
-      type: uint32
-      description: >
-          Total size of persistent regions in kibibytes (KiB).
-    - name: AllowedMemoryModes
-      type: array[string]
-      description: >
-          Memory modes supported by the memory.
-    - name: IsSpareDeviceInUse
-      type: boolean
-      description: >
-          An indication of whether a spare device is enabled for this memory.
-    - name: IsRankSpareEnabled
-      type: boolean
-      description: >
-          An indication of whether rank spare is enabled for this memory.
-    - name: VolatileRegionNumberLimit
-      type: uint16
-      description: >
-          Total number of volatile regions this memory can support.
-    - name: PmRegionNumberLimit
-      type: uint16
-      description: >
-          Total number of persistent regions this memory can support.
-    - name: VolatileRegionMaxSizeKiB
-      type: uint32
-      description: >
-          Maximum size of a single volatile region in kibibytes (KiB).
-    - name: PmRegionMaxSizeKiB
-      type: uint32
-      description: >
-          Maximum size of a single persistent region in kibibytes (KiB).
-    - name: AllocationIncrementInKiB
-      type: uint64
-      description: >
-          The size of the smallest unit of allocation for a memory region in
-          kibibytes (KiB).
-    - name: AllocationAlignementInKiB
-      type: uint64
-      description: >
-          The boundary that memory regions are allocated on, measured in
-          kibibytes (KiB).
-    - name: ModuleManufacturerID
-      type: string
-      description: >
-          The manufacturer ID of this memory module.
-    - name: ModuleProductID
-      type: string
-      description: >
-          The product ID of this memory module.
-    - name: SubsystemVendorID
-      type: string
-      description: >
-          The manufacturer ID of the memory subsystem controller of this
-          memory module.
-    - name: SubsystemDeviceID
-      type: string
-      description: >
-          The product ID of the memory subsystem controller of this memory
-          module.
-    - name: VolatileSizeInKiB
-      type: uint32
-      description: >
-          Total size of the volatile portion memory in kibibytes (KiB).
-    - name: PmSizeInKiB
-      type: uint32
-      description: >
-          Total size of the non-volatile portion memory in kibibytes (KiB).
-    - name: CacheSizeInKB
-      type: uint32
-      description: >
-          Total size of the cache portion memory in kibibytes (KiB).
-    - name: MemoryMedia
-      type: array[string]
-      description: Media of this memory.
+          Speeds supported by this memory in megatransfers.
 
 enumerations:
     - name: Ecc