Implement processor throttle dbus properties

- create processor throttle dbus objects for each OCC (processor)
- update throttle properties based on OCC poll response data
  or safe mode status.

Throttle data will be made available via Redfish

NAME                                       TYPE      SIGNATURE RESULT/VALUE FLAGS
org.freedesktop.DBus.Introspectable        interface -         -            -
.Introspect                                method    -         s            -
org.freedesktop.DBus.Peer                  interface -         -            -
.GetMachineId                              method    -         s            -
.Ping                                      method    -         -            -
org.freedesktop.DBus.Properties            interface -         -            -
.Get                                       method    ss        v            -
.GetAll                                    method    s         a{sv}        -
.Set                                       method    ssv       -            -
.PropertiesChanged                         signal    sa{sv}as  -            -
xyz.openbmc_project.Control.Power.Throttle interface -         -            -
.ThrottleCauses                            property  as        0            emits-change
.Throttled                                 property  b         false        emits-change

Example of throttled processor (due to a power limit):
as 1 "xyz.openbmc_project.Control.Power.Throttle.ThrottleReasons.PowerLimit"

Change-Id: I0af9d82fab9d694427d0adaa45f4a372d25fbc12
Signed-off-by: Chris Cain <cjcain@us.ibm.com>
6 files changed