chassishandler: Support Hard Reset command

Follow the IPMI spec v2.0 and the OpenBMC state management design,
Support the Hard Reset IPMI command correspond the BMC transition to
A ForceWarmReboot.

The full mapping of Redfish and IPMI to xyz.openbmc_project.State.*
is as follows:
https://github.com/openbmc/docs/blob/master/designs/state-management-and-external-interfaces.md

Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
Change-Id: I6c26e7c70c1792498b17d3800d80343b19193c41
diff --git a/chassishandler.cpp b/chassishandler.cpp
index ec49443..c0451de 100644
--- a/chassishandler.cpp
+++ b/chassishandler.cpp
@@ -1422,6 +1422,9 @@
             break;
 
         case CMD_HARD_RESET:
+            rc = initiate_state_transition(
+                State::Host::Transition::ForceWarmReboot);
+            break;
         case CMD_POWER_CYCLE:
             // SPEC has a section that says certain implementations can trigger
             // PowerOn if power is Off when a command to power cycle is