platform-mc: Call MCTP `.Recover` in the request timeout

In the current implementation, `pldmd` will register the request
messages to sendRecvPldmMsg. This API will returns the return error code
from sendRecvPldmMsgOverMctp directly to the caller but not handle the
timeout error code.
From Mctp codeConstruct version 2.0 [1], the MCTP D-Bus interface
`au.com.codeconstruct.MCTP.Endpoint1` supports `.Recover` method to
recover the communication to one terminus. The `pldmd` should call this
method in time out.

[1] https://github.com/CodeConstruct/mctp/blob/v2.0/docs/endpoint-recovery.md#recover-method-design-considerations

Supports handling the timeout error code by calling to the `.Recover`
method under `au.com.codeconstruct.MCTP.Endpoint1` brought by mctpd.
This action will check if the endpoint is still available. pldm will
handle accordingly by continuing to communicate or removing the endpoint
based on mctpd upcoming behaviors.

Signed-off-by: Chau Ly <chaul@amperecomputing.com>
Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com>
Change-Id: I71cc33a3630b5adbd65c485fe98148669ce635f6
diff --git a/platform-mc/terminus_manager.hpp b/platform-mc/terminus_manager.hpp
index c4c8914..0eb2869 100644
--- a/platform-mc/terminus_manager.hpp
+++ b/platform-mc/terminus_manager.hpp
@@ -163,6 +163,13 @@
     void updateMctpEndpointAvailability(const MctpInfo& mctpInfo,
                                         Availability availability);
 
+    /** @brief Construct MCTP Endpoint object path base on the MCTP endpoint
+     *  info
+     *
+     *  @param[in] mctpInfo - information of the target endpoint
+     */
+    std::string constructEndpointObjPath(const MctpInfo& mctpInfo);
+
   private:
     /** @brief Find the terminus object pointer in termini list.
      *